Size: a a a

Django [ru] #STAY HOME

2019 June 13

ЕК

Евгений Коваль in Django [ru] #STAY HOME
Anton Fircak
хотелось бы для любого, значит save юзать? модели
Может все таки лучше расскажешь в чем суть задачи?
источник

DK

Denis Kopitsa in Django [ru] #STAY HOME
для любого - переопределение .save() в модели,
для админки - переопределение .save_model() в соответствующем ModelAdmin
источник

AF

Anton Fircak in Django [ru] #STAY HOME
кароч, при добавлении нового юзера, чтоб ему сообщение отправлялось
источник

AF

Anton Fircak in Django [ru] #STAY HOME
повесил на сигналы, но чет не срабатывает
источник

ЕК

Евгений Коваль in Django [ru] #STAY HOME
Anton Fircak
кароч, при добавлении нового юзера, чтоб ему сообщение отправлялось
Какое сообщение? Почта/телега/смс?
источник

AF

Anton Fircak in Django [ru] #STAY HOME
емаил
источник

ЕК

Евгений Коваль in Django [ru] #STAY HOME
как сигнал повесил? какая версия django?
источник

AF

Anton Fircak in Django [ru] #STAY HOME
2.1
источник

ЕК

Евгений Коваль in Django [ru] #STAY HOME
Модуль с обработчиком сигнала импортится в проект?
источник

AF

Anton Fircak in Django [ru] #STAY HOME
Евгений Коваль
Модуль с обработчиком сигнала импортится в проект?
вот наверное в этом беда
источник

AF

Anton Fircak in Django [ru] #STAY HOME
@receiver([pre_save,post_save], sender=CustomUser)
def generate_and_email_password(sender, **kwargs):
   instance = kwargs.get('instance')
   if instance and not instance.pk:  # New model
       instance.password = CustomUser.objects.make_random_password()
       send_email_registration.delay(instance.email, instance.password)
источник

AF

Anton Fircak in Django [ru] #STAY HOME
вот сигнал
источник

AF

Anton Fircak in Django [ru] #STAY HOME
Евгений Коваль
Модуль с обработчиком сигнала импортится в проект?
в ините надо?
источник

DK

Denis Kopitsa in Django [ru] #STAY HOME
либо сигнал на post_save с created=True, либо в .save() дополнительный вызов с проверкой на self._state.adding
источник

ЕК

Евгений Коваль in Django [ru] #STAY HOME
Anton Fircak
@receiver([pre_save,post_save], sender=CustomUser)
def generate_and_email_password(sender, **kwargs):
   instance = kwargs.get('instance')
   if instance and not instance.pk:  # New model
       instance.password = CustomUser.objects.make_random_password()
       send_email_registration.delay(instance.email, instance.password)
По коду можно просто проверить параметр created в сигнал передается.
источник

AF

Anton Fircak in Django [ru] #STAY HOME
а подскажите как добавить сигналы на проект
источник

AF

Anton Fircak in Django [ru] #STAY HOME
в инит
источник

AF

Anton Fircak in Django [ru] #STAY HOME
добавить def ready?
источник

ЕК

Евгений Коваль in Django [ru] #STAY HOME
Anton Fircak
@receiver([pre_save,post_save], sender=CustomUser)
def generate_and_email_password(sender, **kwargs):
   instance = kwargs.get('instance')
   if instance and not instance.pk:  # New model
       instance.password = CustomUser.objects.make_random_password()
       send_email_registration.delay(instance.email, instance.password)
В том числе учти, что подобные вещи лучше в celery запускать?
источник

AF

Anton Fircak in Django [ru] #STAY HOME
def ready(self):
   import signals
источник