我正在努力处理一个无法转换为 django orm 的复杂查询。
我正在发送消息。每条消息都可以发送给收件人和/或收件人组。我需要获取给定消息的所有收件人的列表,并且我不希望列表中有任何重复项(同一用户可以在不同的组中)。
到目前为止,这是我的模型:
class Contact(models.Model):
email = models.EmailField(_('Email'), null=True, blank=True)
groups = models.ManyToManyField('Group', related_name='members', null=True,
blank=True, verbose_name=_('Groups'))
class Group(models.Model):
name = models.CharField(_('Name'), max_length=50)
class Message(models.Model):
body = models.TextField(_('Body'))
recipients = models.ManyToManyField('contacts.Contact',
null=True, blank=True,
related_name='messages',
verbose_name=_('Recipients'))
groups = models.ManyToManyField('contacts.Group',
null=True, blank=True,
related_name='messages',
verbose_name=_('Groups'))
你能想出一个聪明的方法来做到这一点吗?
谢谢。