【发布时间】:2015-10-22 18:08:25
【问题描述】:
我在使用 django 查询集时遇到了一些我自己无法解决的问题。 我想过滤掉用户不应该看到的任务。问题是用户组和类别都是ManyToManyField,我不知道如何比较。
我的模型:
from django.contrib.auth.models import Group
class Task(models.Model):
# ...
categories = models.ManyToManyField(Category, blank=True)
# ...
class Category(models.Model):
# ...
organizers_group = models.ForeignKey(Group, null=True)
# ...
如果任务只能属于一个类别,我会写类似这样的内容:
def get_queryset(self, request):
return queryset = super(TaskAdmin, self).get_queryset(request).filter(
categories__in=request.user.groups
)
但是我不知道在使用 ManyToManyFields 时该怎么做。有什么帮助吗?
【问题讨论】:
标签: django django-models django-queryset django-orm