
Roman
27.03.2018
14:54:15
просто без modelforms тут столько возни будет

Сергей
27.03.2018
14:54:36

Roman
27.03.2018
14:54:44
ну inherit

Google

Dan
27.03.2018
14:54:56
скинуть ?

Roman
27.03.2018
14:55:09
class ChildminderForms(GOVUKForm): <— это для использование виджетов от govukform не обязательно? можно на ModelForm заменить?

Сергей
27.03.2018
14:56:22

Roman
27.03.2018
14:58:38
понятно)
пойду учится писать сигналы

Dan
27.03.2018
15:01:26

Robot
27.03.2018
15:02:37
Заодно логирую какой юзер менял

Roman
27.03.2018
15:04:00
у меня есть уже как логировать а вот логика как найти обновленное поле это то что надо ) спс
это сигнал для каждой модели?
в sender можно подать лист моделей?

Google

Сергей
27.03.2018
15:05:19
@receiver(post_save, sender=Model1)
@receiver(post_save, sender=Model2)
@receiver(post_save, sender=Model3)
можно так

Max
27.03.2018
15:05:34
наркоманы

Roman
27.03.2018
15:05:40
)))

Сергей
27.03.2018
15:05:58
@receiver(post_save)
def set_winner(sender, instance=None, created=False, **kwargs):
list_of_models = ('Rebel', 'Stormtrooper', 'Battleground')
if sender.__name__ in list_of_models: # this is the dynamic part you want
if created: # only run when object is first created
... set the winner ...
вот пишуть

Max
27.03.2018
15:06:02
for model in django.apps.apps.get_models():
receiver(post_save, sender=model)(callback)

Roman
27.03.2018
15:06:33
о как )
по пиву раздавать надо будет

Max
27.03.2018
15:06:50
тьфу

Robot
27.03.2018
15:07:06

Dan
27.03.2018
15:07:21
кому харам ... а мне темного

Max
27.03.2018
15:07:36
даже post_save.connect(callback, sender=model)

Сергей
27.03.2018
15:08:57
можно сок?)

Roman
27.03.2018
15:09:13
можно )

Pavel
27.03.2018
15:11:41

Max
27.03.2018
15:12:33
в 30 моделях?
и вообще есть сигналы — зачем переопределять save если ты с данными перед сохранением ничего не делаешь

Roman
27.03.2018
15:14:34
вот да лучше уж сигналы

Pavel
27.03.2018
15:14:52

Roman
27.03.2018
15:15:12
ну так тогда тупо была бы копи паста по 20 строк в каждую модель

Max
27.03.2018
15:15:15
кому религиозный, кому нет

Google

Roman
27.03.2018
15:15:32
не так фреймворк использовать надо
когда их там 5 то пофигу но их тут 55

Pavel
27.03.2018
15:15:47

Roman
27.03.2018
15:15:53
рукибы по отрывать кто это написал )

Max
27.03.2018
15:16:10
как минимум перепопределяя save для логирования ты плодишь энтропию в проекте

Roman
27.03.2018
15:16:16
ну я с mixin еще не знаком расскажите )

Max
27.03.2018
15:16:28
потому что апп с моделью с какого-то перепоя начинает нести знание про апп с логами

Roman
27.03.2018
15:16:40
/me пошел читать про mixins

Сергей
27.03.2018
15:17:55

Max
27.03.2018
15:18:11
ну вот да, щас бы в 20 моделей миксины вставляеть )

Roman
27.03.2018
15:18:16
))

Сергей
27.03.2018
15:18:49
а указал микшин, сразу понятно что хотел сделать

Max
27.03.2018
15:19:18
если у тебя есть апп с логами, и там регистрируются все модели

Roman
27.03.2018
15:19:50
functional vs oop

Max
27.03.2018
15:20:08
я хуй знает насколько надо быть упоротым чтобы не понимать откуда логи берутся
и см. выше комментарий про энтропию

Roman
27.03.2018
15:24:43
можно тупой вопрос? что-то разберался раньше не вышло понять: вот такое можно в модель вообще писать? вызвав с наружи во вьюхе оно бросает ошибку про UUID (y нас тут uuid в pk используются)
@classmethod
def get_id(cls, app_id):
personal_detail_id = ApplicantPersonalDetails.get_id(app_id)
return cls.objects.get(personal_detail_id=personal_detail_id)
хотел вызвать как MyModel.get_id(app_id=app_id).field_name

Google

Dan
27.03.2018
15:55:56
sender это модель
instance объект

Roman
27.03.2018
15:59:25
обьект этой модели?

Dan
27.03.2018
16:09:27
да сохраняемый объект

Roman
27.03.2018
16:10:45
то что наверху запостил не работает )

Сергей
27.03.2018
16:11:35

Yakov
27.03.2018
16:11:44
Всем привет, как считаете можно ли использвать manage команды в миграциях, например:
from django.core.management import call_command
call_command('rendervariations', 'app.model.image')

Roman
27.03.2018
16:12:00
Зачем? Код в студию, ничего не понятно
можно тупой вопрос? что-то разберался раньше не вышло понять: вот такое можно в модель вообще писать? вызвав с наружи во вьюхе оно бросает ошибку про UUID (y нас тут uuid в pk используются)
@classmethod
def get_id(cls, app_id):
personal_detail_id = ApplicantPersonalDetails.get_id(app_id)
return cls.objects.get(personal_detail_id=personal_detail_id)
хотел вызвать как MyModel.get_id(app_id=app_id).field_name

Dan
27.03.2018
16:13:26

Roman
27.03.2018
16:13:42

Dan
27.03.2018
16:13:50
он работает?

Roman
27.03.2018
16:13:54
а вот хз
я сомневаюсь )

Dan
27.03.2018
16:14:07
вызови его;)

Roman
27.03.2018
16:14:08
так как реализован так же
синтакс хотя бы правильный то?
с первого взгляда

Dan
27.03.2018
16:14:56
да

Google

Roman
27.03.2018
16:15:22
ясно ну тогда попозже спрошу со всеми traceback'ами

Max
27.03.2018
16:39:08
в свое приложение с логами в пост-инит

Roman
27.03.2018
16:39:22
ам во все модели?
или в сигнал сам

Max
27.03.2018
16:39:51
щито?

Roman
27.03.2018
16:40:40
@receiver(post_init)
def set_winner(sender, instance=None, created=False, **kwargs):
# сюда?
ну вот есть сигнал
@receiver(post_init, sender=User)
def set_init_track_fields_signal(sender, instance, **kwargs):
for field in instance.init_track_fields:
setattr(instance, '_original_%s' % field, getattr(instance, field))
как список в sender передать)
ты там их итерируешь так куда это ставить ) просто перед всеми молями?

Игорь
27.03.2018
16:43:53
Товарищи, какое лучшее решение, что бы логи интегрировать в админку Джанго?

Roman
27.03.2018
16:45:16
щито?
ну что я не так спросил )

Max
27.03.2018
16:45:52
google django App post_init
App.ready
https://docs.djangoproject.com/en/2.0/ref/applications/#django.apps.AppConfig.ready

Roman
27.03.2018
16:46:58
оей )
про model registry я вообще не знал )
вот показан там пример а в какой файл писать а нахер такое писать сам пойму по ходу
вот и нашел

Konstantin
27.03.2018
16:55:50
А не подскажете, что надо еще сделать, что бы автоматически генерился айдишник у сущности при вставке?
id = models.IntegerField(primary_key=True)
при вставке пишет, что -
{id: ["This field is required."]}
ВИдимо так - id = models.AutoField(primary_key=True)