
Senpos
10.12.2017
18:20:07
The on_delete argument for ForeignKey and OneToOneField is now required in models and migrations. Consider squashing migrations so that you have fewer of them to update.
Не совсем понял, к чему тут эта конструкция, но дело не в ней)

Panda
10.12.2017
18:25:56

Google

Senpos
10.12.2017
18:26:21
Вот та, что вы скинули

Panda
10.12.2017
18:27:17
Нейм мейн?
Я ее и не ставил, но на стеке в некоторых ответах предлагают ставить
А зачем сделали обязательным on_delete ?

Senpos
10.12.2017
18:29:30
Наверное, чтобы было очевидным поведение при удалении. По умолчанию был models.CASCADE, но теперь решили, что лучше указать ясно.
Это теория, но очень правдоподобная

Panda
10.12.2017
18:36:13
Это sql?

Dmitriy
10.12.2017
18:37:14

Panda
10.12.2017
18:37:37

Dmitriy
10.12.2017
18:38:32

Nikita
10.12.2017
19:07:05
Господа, подскажите пожалуйста:
Есть форма, состоящая из нескольких инпутов и одного чекбокса. Хочу по нажатию чекбокса дизейблить или включать обратно форму. Как можно обрабатывать событие нажатия на чекбокс средствами джанги? Или только через js?

Google

b0g3r
10.12.2017
19:07:35
Только жс

Nikita
10.12.2017
19:08:41
Печаль...спасибо

Panda
10.12.2017
19:10:53

Eugene
10.12.2017
19:23:00
с перезагрузкой страницы и get параметрами ?)
?show=true

Panda
10.12.2017
19:23:14
Подскажите, почему:
http://joxi.ru/1A5oo74tKYwyvm - по умолчанию автора нет, хотя author = models.ForeignKey('auth.User', on_delete=models.CASCADE)

Eugene
10.12.2017
19:24:18

Panda
10.12.2017
19:25:26
а где тут default ?)
т.е надо author = models.ForeignKey('auth.User', default='auth.User' on_delete=models.CASCADE)

Eugene
10.12.2017
19:25:41
auth.User это модель User
class MyModelAdmin(admin.ModelAdmin):
def get_form(self, request, obj=None, **kwargs):
form = super(MyModelAdmin, self).get_form(request, obj, **kwargs)
form.base_fields['author'].initial = request.user
return form
можно так попробовать

Panda
10.12.2017
19:26:52
должно быть проще, я уверен=)

Eugene
10.12.2017
19:28:16
если нужно не в админке, то можно создать форму и прокинуть в нее request и уже указывать там)
или в шаблонах попробовать подставить. я не знаю какой у Вас кейс и что нужно сделать)
<option value="{{ request.user.pk }}">{{ request.user.username }}</option>

b0g3r
10.12.2017
19:30:36
Почему?
Все что без перезагрузки страницы - все жс

Senpos
10.12.2017
19:32:09
Кто как предпочитает расширять поля юзера?
Из адекватных и простых вариантов есть два: 1to1 модель и наследоваться от AbstractUser
С первым получается много запросов, либо в каждом кверисете делать select_related, да и inline профиля подсовывать в админке к модели юзера не очень круто
С вторым не очень удобно интегрироваться в админку, либо я не нашел годного рецепта, например, видно пароль (хэш) и прочие мелочи

Eugene
10.12.2017
19:32:48

Google

Panda
10.12.2017
19:32:52

Senpos
10.12.2017
19:33:49
мне AbstractUser нравится больше всего, но узнать бы кто как его в админке готовит
обычно в статьях этого не упоминают

Eugene
10.12.2017
19:35:18

Senpos
10.12.2017
19:37:08
О, кажись нашел.
from django.contrib.auth.admin import UserAdmin
+ отображать добавленные кастомные поля: https://dyve.net/post/django-custom-user-model-admin/
Подробнее в доке: https://djbook.ru/rel1.8/topics/auth/customizing.html#custom-users-and-django-contrib-admin

Константин
10.12.2017
22:19:05
Всем салют)
Переопределяю метод delete для модели в админке, нужно сперва проверить через апи возможность удаления.
И нужно выбрасывать ошибку в случае чего, попробовал через forms.ValidationError но это собственно просто к ошибке приводит. Можно как-то сообщение вывести ?

kidig
11.12.2017
05:36:00
В админке не нужно использовать exceptions для показа ошибок

Константин
11.12.2017
07:10:53

Yuri
11.12.2017
08:24:15
Если есть здесь HR. Разработчик python, golang, js. Ищу работу или проект. Москва или другие норода, но удаленка. Github https://github.com/deslum. Писать windowod@gmail.com.

Dmitriy
11.12.2017
08:25:23

Yuri
11.12.2017
08:26:13
спасибо
извините

Dmitriy
11.12.2017
08:27:06
извините
Да не, я просто для информации тебе)
Ничего против не имею

Hot
11.12.2017
09:05:02
Всем привет! А вы не подскажете, как сделать в админке Django несколько поисковых полей, каждое из которых будет искать только по своему полю модели?

Oleg
11.12.2017
09:35:53
привет, есть DRF, Serializer, и View, который наследуется от ListModelMixin и CreateModelMixin. Можно как-то сделать так, чтобы в List выводились все поля, а в Create только часть полей модели?

Google

Valentin
11.12.2017
10:01:31

Oleg
11.12.2017
10:18:20

Admin
ERROR: S client not available

Set
11.12.2017
10:19:33
всем привет решил прочесть про rest на рускком
https://github.com/ibrikin/django-rest-framework-rusdoc
но при запуске выходит ошибка
INFO - Building documentation...
WARNING - Config value: 'theme_dir'. Warning: The configuration option {0} has been deprecated and will be removed in a future release of MkDocs.
INFO - Cleaning site directory
ERROR - Error building page index.md
main.html

Valentin
11.12.2017
10:19:50

Oleg
11.12.2017
10:20:27

Dan
11.12.2017
11:58:07
народ подскажите
у меня проект который крутится в докере
запускается через кубернетс
django запускается через supervisor uwsgi
как мне получить логи
через kubectl logs

vadim
11.12.2017
11:59:37
оффтоп, но ради интереса зачем такой обвес? посещаемость высокая или что

Dan
11.12.2017
12:21:15
нет
просто как корпоративный стандарт

Code
11.12.2017
14:18:36
Ребята, скажите пожалуйста, если я без изменения данных второй раз вызову save(), то будет дополнительный запрос в бд?
К примеру
row = Row.objects.get(pk=1)
row.title = 'title text'
row.save()
row.save()

Artem
11.12.2017
14:30:26
и безопасней, и обновит только те поля, что будут указаны

Code
11.12.2017
14:31:35

Ahmed
11.12.2017
18:36:19
Ребята, никто не знает есть ли такая либа или метод в питоне как у джанги
Типа этого
self.client.post(reverse('method_url, kwargs=data))
пишу тесты, надо в тесте вызвать метод который обращается к сторонней api

Алексей
11.12.2017
18:46:32
Мб библиотека requests?

Ahmed
11.12.2017
18:47:56
Вопрос в другом как вызвать этот метод и передать ему данные и сравнить результат метода
прикол в том, что у метод нет аргументов

Google

Алексей
11.12.2017
18:49:10
requests.get(url).json()
И сравниваешь данные
Или не понимаю что ты хочешь

Ahmed
11.12.2017
18:50:11
так coverage показывает то, что метод не покрыт тестами
давайте лучше покажу, что я делаю

Алексей
11.12.2017
18:50:47
Причем тут покрытие? Ты же тестируешь другое апи

Ahmed
11.12.2017
18:51:45

Алексей
11.12.2017
18:54:25
Если у тебя функция, которая вызывает другое апи, то правильным решением будет замокать внешний апи и написать тест, вызывающий эту функцию и проверяющий результат от мок объекта. Ну или если надо еде и удаленные данные проверить, то тут просто написать тест дергающий другой апи и смотрящий данные. Но в послендем случае, такой тест лучше пометить как нибудь и не гонять со всеми тестами, и он не проверяет твою фенкцию, а только ожидаемые данные от апи
По примеру да, ты протестировал апи, но функцию нет, потому и не покрыто
Ты же в тесте даже не вызвал эту функцию)) собственно и логично что не покрыто)

Ahmed
11.12.2017
18:58:14
Понятно)
Спасибо за развернутый ответ