1
class UserProfile(Model):
base = OneToOneField(User)
commented_articles = ManyToManyField('Article', through='Comment')
在上述情况下,我怎么能以某种方式破解相关经理commented_articles
过滤与distinct()
法默认的文章?如何定义ManyToManyField以仅默认检索不同的对象?
我知道我可以通过调用distinct()
方法一样得到截然不同的文章:
>>> u = UserProfile.objects.first()
>>> u.commented_articles.distinct()
但我想相关的经理commented_articles
本身含有distinct()
查询默认情况下,同时实现取模型的定义的地方。
有什么好方法可以让相关管理器默认返回不同过滤的查询集?
问题是,为什么你甚至连数次存储值?这种行为是否需要?如果是这样,你可以用'use_for_related_fields = True'来编写[qustom manager](https://docs.djangoproject.com/en/1.8/topics/db/managers/#manager-types)。 – sobolevn
'use_for_related_fields'不适用于M2M字段(至少尚未),请参阅[link](https://code.djangoproject.com/ticket/14891)1 – dzejdzej