@pydjango

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

Сергей
27.03.2018
14:54:36
Roman
27.03.2018
14:54:44
ну inherit

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

скинуть ?
был бы благодарен

Roman
27.03.2018
14:58:38
понятно)

пойду учится писать сигналы

Dan
27.03.2018
15:01:26
был бы благодарен
https://gist.github.com/dantyan/5d3754fde231b6437269182740d7f51b

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
у меня есть уже как логировать а вот логика как найти обновленное поле это то что надо ) спс
Вопрос от опоздавших на поезд: https://pypi.python.org/pypi/django-dirtyfields и переопределение save чем не нравится?

Max
27.03.2018
15:12:33
в 30 моделях?

и вообще есть сигналы — зачем переопределять save если ты с данными перед сохранением ничего не делаешь

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

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

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
ну вот да, щас бы в 20 моделей миксины вставляеть )
явное лучше, чем неявное) а так создал модель и не понимаешь, какого лешего оно пишет в лог что-то..

а указал микшин, сразу понятно что хотел сделать

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

https://gist.github.com/dantyan/5d3754fde231b6437269182740d7f51b
чем тут sender от instance отличается? def set_user_initial_fields_signal(sender, instance, **kwargs):

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
чем тут sender от instance отличается? def set_user_initial_fields_signal(sender, instance, **kwargs):
как можно создать метод в модели свой собственный: а то задолбало по id искать записи в 3 таблицах уже)

то что наверху запостил не работает )

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

Roman
27.03.2018
16:13:42
ApplicantPersonalDetails.get_id(app_id) это что ?
такой же метод в другой модели

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'ами

for model in django.apps.apps.get_models(): receiver(post_save, sender=model)(callback)
простите а это вообще куда класть

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)

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