Guest User

Untitled

a guest
Jul 17th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.59 KB | None | 0 0
  1. class Foo(models.Model):
  2. ...
  3.  
  4. class UserFoo(models.Model):
  5. user = models.ForeignKey(User)
  6. foo = models.ForeignKey(Foo)
  7. ...
  8.  
  9. class Meta:
  10. unique_together = ("user", "foo")
  11.  
  12. foos = Foo.objects.raw("SELECT foo.* FROM foo LEFT OUTER JOIN userfoo ON (foo.id = userfoo.foo_id AND foo.user_id = %s)", [request.user.id])
  13.  
  14. def userfoo_retriever(qs):
  15. userfoos = dict((i.pk, i) for i in UserFoo.objects.filter(foo__in=qs))
  16. for i in qs:
  17. i.userfoo = userfoos.get(i.pk, None)
  18.  
  19. for foo in Foo.objects.filter(…).tranform(userfoo_retriever):
  20. print foo.userfoo
Add Comment
Please, Sign In to add comment