У меня есть модель с полем ManyToMany, и каждый раз, когда я создаю объект, мне нужно искать в базе данных все больше объектов с помощью того же телефона или электронной почты, созданных ранее.
Сейчас я использую сигнал post_save для этого, но я хотел знать, есть ли лучший способ сделать это, возможно, на сериализаторе создания.
class Leads(models.Model):
name = models.CharField(max_lenght=40)
phone = models.CharField(max_lenght=14)
email = models.EmailField()
other_leads = models.ManyToManyField('Leads')
created = models.DateTimeField(auto_now_add)
@receiver(post_save, sender=Leads)
def add_related(sender, instance, created, **kwargs)
if created:
[instance.other_leads.add(lead) for lead in Leads.objects.filter(email=instance.email, created__lt=instance.created)]