Django Model Filter - PullRequest
       7

Django Model Filter

2 голосов
/ 22 февраля 2012

Я провел последние несколько часов, изучая Django Docs и подобные вопросы, но мне все еще неясно, как решить эту проблему ...

В сущности, я хочу получить доступ к списку адресов электронной почты, относящихся к определенной группе, чтобы я мог отправить электронное письмо этим клиентам, которые входят в эту группу (с именем group_one, group_two и т. Д.)

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)

Я пробовал

group_mail_list = Group.objects.filter(name=group_two)

И это возвращает объект запроса для group_two, но когда я пытаюсь сделать фильтр __contains, я получаю сообщение об ошибке:

TypeError: Related Field has invalid lookup: contains

Кто-нибудь мне поможет? Не уверен, что это потому, что это отношения многих ко многим, возможно?

Заранее спасибо:)

1 Ответ

7 голосов
/ 22 февраля 2012

То, что вы действительно хотите, это Customer с, тогда. На первый взгляд это кажется нелогичным, потому что вы хотите электронные письма для Group, но это поле для Customer, а не Group:

Customer.objects.filter(group__name='group_two').values_list('email')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...