Filtre de modèle Django
Question
J'ai passé les dernières heures à regarder des documents Django et des questions similaires ici, mais je ne sais toujours pas comment résoudre le problème ...
Dans Essense, je souhaite accéder à la liste des adresses e-mail pertinentes pour un certain groupe, afin que je puisse envoyer un e-mail à ces clients qui font partie de ce groupe (nommé Group_One, Group_Two, etc.)
class Group(models.Model):
name = models.CharField(primary_key=True)
mailing_list = models.ManyToManyField("Customer", null=True)
class Customer(models.Model):
name = models.CharField()
email = models.EmailField(primary_key=True)
J'ai essayé
group_mail_list = Group.objects.filter(name=group_two)
Et cela renvoie un objet de requête pour group_two, mais lorsque j'essaie de faire un filtre __contains, j'obtiens une erreur:
TypeError: Related Field has invalid lookup: contains
Quelqu'un m'aide? Vous ne savez pas si c'est parce que c'est peut-être une relation plusieurs à plusieurs?
Merci d'avance :)
La solution
Ce que tu veux vraiment, c'est Customer
S, alors. Il semble contre-intuitif à la surface, car vous voulez des e-mails pour un Group
, mais ce champ est sur Customer
ne pas Group
:
Customer.objects.filter(group__name='group_two').values_list('email')