这些是我的模特:
class Delivery(models.Model):
name = models.CharField(_(u"Name"), max_length=50)
permissions = models.ManyToManyField(settings.AUTH_USER_MODEL)
class Content(models.Model):
delivery = models.ForeignKey(Delivery)
title = models.CharField(_(u"Title"), max_length=300)
有了content_id,我试图通过id返回内容,但验证用户是否拥有该权限。查询Delivery对象时,我这样做:
delivery = get_object_or_404(Delivery, pk=self.kwargs['pk'], permissions=self.request.user)
我的问题是我不知道如何做同样的事情,但查询Content对象。我试图像这样查询
obj = Content.objects.get(Q(pk=self.kwargs['pk']), Q(delivery.permissions=self.request.user))
但结果是"关键字不能和表达式#34;
感谢您的帮助
答案 0 :(得分:1)
你应该使用django relation lookups:
Content.objects.get(delivery__permissions=self.request.user)
我真的没有得到你想用Q
做什么?