Django - 使用ForeignKeys

时间:2016-06-06 15:23:08

标签: django orm

这些是我的模特:

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;

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

你应该使用django relation lookups

Content.objects.get(delivery__permissions=self.request.user)

我真的没有得到你想用Q做什么?