I am new to Python and Django, so please be patient with me.
I have the following models:
class User(models.Model): name = models.CharField(max_length = 50) ... class Post(models.Model): userBy = models.ForeignKey(User, related_name='post_user') userWall = models.ForeignKey(User, related_name='receive_user') timestamp = models.DateTimeField() post = models.TextField() class Friend(models.Model): user1 = models.ForeignKey(User, related_name='request_user') user2 = models.ForeignKey(User, related_name='accept_user') isApproved = models.BooleanField() class Meta: unique_together = (('user1', 'user2'), )
I know that this may not be the best / easiest way to handle it with Django, but I recognized it that way and I want to save it that way.
Now, all I want to do is get all the mail from one person and friends . Now the question is how to do this with Django filters?
I think in SQL it will look something like this:
SELECT p.* FORM Post p, Friend f WHERE p.userBy=THEUSER OR ( (f.user1=THEUSER AND f.user2=p.userBy) OR (f.user2=THEUSER AND f.user1=p.userBy) )
Without a guarantee of correctness, just to give an idea of ββthe result I'm looking for.
source share