Reputation: 7292
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
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