我有一个用户组模型:
class ProfileGroup(models.Model):
user = models.ManyToManyField(user)
name = models.CharField(max_length=100)
文章的模型:
class Article(models.Model):
title = models.CharField(max_length=200)
text = models.TextField()
group = models.ForeignKey(ProfileGroup)
owner = models.ForeignKey(user)
用户可以从已分配的组中编辑自己的文章和文章。
如何检索所有用户文章及其群组?我需要使用Q吗?也许足够过滤?
articles = Article.object.filter(....
答案 0 :(得分:2)
获取用户的文章:
Article.objects.filter(owner=user)
获取属于其中一个用户组的文章。
Article.objects.filter(group__user=user)
然后,您可以使用Q
来获取属于该用户或其中一个用户组的文章。
Article.objects.filter(Q(owner=user)|Q(group__user=user))