@pydjango

Страница 783 из 1273
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.

Не совсем понял, к чему тут эта конструкция, но дело не в ней)

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, но теперь решили, что лучше указать ясно.

Это теория, но очень правдоподобная

Dmitriy
10.12.2017
18:37:14
А где почитать про другие варианты поведения? Не cascade
https://docs.djangoproject.com/en/2.0/ref/models/fields/#django.db.models.ForeignKey.on_delete

Panda
10.12.2017
18:37:37
https://docs.djangoproject.com/en/2.0/ref/models/fields/#django.db.models.ForeignKey.on_delete
я сюда полез https://technet.microsoft.com/ru-ru/library/ms186973(v=sql.105).aspx

Dmitriy
10.12.2017
18:38:32
я сюда полез https://technet.microsoft.com/ru-ru/library/ms186973(v=sql.105).aspx
ну как это работает тоже полезно знать

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)

Подскажите, почему: http://joxi.ru/1A5oo74tKYwyvm - по умолчанию автора нет, хотя author = models.ForeignKey('auth.User', on_delete=models.CASCADE)
Я так понимаю, что auth.user указывает на то, что должен выбирать именно этот юзер, под которым авторизация. Или нет?

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 профиля подсовывать в админке к модели юзера не очень круто С вторым не очень удобно интегрироваться в админку, либо я не нашел годного рецепта, например, видно пароль (хэш) и прочие мелочи

Google
Panda
10.12.2017
19:32:52
или в шаблонах попробовать подставить. я не знаю какой у Вас кейс и что нужно сделать)
ну вообще пока что это просто стандарт блог, но я бы уже хотел, чтобы меня автоматом выбирало=) в итоге юзеры будут постить и им бы вообще это поле с выбором убрать и подставлять автоматически их.

Senpos
10.12.2017
19:33:49
https://docs.djangoproject.com/en/2.0/topics/auth/customizing/#a-full-example вот так
Это ад какой-то) Слишком трудозатратный для добавления просто полей, вроде биографии или дня рождения

мне AbstractUser нравится больше всего, но узнать бы кто как его в админке готовит

обычно в статьях этого не упоминают

Senpos
10.12.2017
19:37:08
тут же abstract и админка)
"тут" это abstract Base User а хотелось бы без Base)

О, кажись нашел. 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 но это собственно просто к ошибке приводит. Можно как-то сообщение вывести ?

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

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
да, тебе нужно написать два разных сериалайзера и переопределить метод get_serializer_class() во вьюхе
спасибо, я тоже подумал так сделать, но не знаю как в get_serializer_class выбрать нужный класс

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
спасибо, я тоже подумал так сделать, но не знаю как в get_serializer_class выбрать нужный класс
лучше всего - на основании self.action, вот пример из рабочего проекта serializers = { 'default': ProfileSerializer, 'list': ListProfileSerializer, 'create': CreateProfileSerializer, 'update': UpdateProfileSerializer, 'partial_update': UpdateProfileSerializer, } def get_serializer_class(self): s = self.serializers return s.get(self.action, s['default'])

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
К примеру row = Row.objects.get(pk=1) row.title = 'title text' row.save() row.save()
да, лучше для этого вызывай .filter(pk=1).update(**fields_dict)

и безопасней, и обновит только те поля, что будут указаны

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
Мб библиотека requests?
Так какой я метод тестирую там и так используется requests

Вопрос в другом как вызвать этот метод и передать ему данные и сравнить результат метода

прикол в том, что у метод нет аргументов

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
Причем тут покрытие? Ты же тестируешь другое апи
Вы мне можете подсказать пожалуйста, в правильном ли я направлении двигаюсь ? Вот то, что я сделал https://hastebin.com/ehitelihah.py

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

По примеру да, ты протестировал апи, но функцию нет, потому и не покрыто

Ты же в тесте даже не вызвал эту функцию)) собственно и логично что не покрыто)

Ahmed
11.12.2017
18:58:14
Понятно)

Спасибо за развернутый ответ

Страница 783 из 1273