André Luiz
André Luiz

Reputation: 7292

Django - querying with ForeignKeys

These are my models:

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)

Having the content_id, I'm trying to make a query to return a content by id, but verifying if the user has the permission. When querying the Delivery object I do this:

 delivery = get_object_or_404(Delivery, pk=self.kwargs['pk'], permissions=self.request.user)

My problem is that I don't know how to do the same, but querying the Content object. I'm trying to query like this

obj = Content.objects.get(Q(pk=self.kwargs['pk']), Q(delivery.permissions=self.request.user))

but the result is "keyword can't be and expression"

Thanks for any help

Upvotes: 0

Views: 33

Answers (1)

Shang Wang
Shang Wang

Reputation: 25539

You should use django relation lookups:

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

I'm not really getting what you are trying to do with Q though?

Upvotes: 1

Related Questions