Reputation: 796
i m on my mini project and have a problem. this is my models
class Post(models.Model):
user = models.ForeignKey(User, related_name='poster_user', db_index=True)
post_content = models.CharField(max_length=500, blank=True, null=True)
post_date = models.DateTimeField(default=datetime_now)
numberof_comment = models.BigIntegerField(default=0)
is_deleted = models.BooleanField(default=False)
class Follower(models.Model):
user = models.ForeignKey(User, related_name='user', db_index=True)
isFriendToUser = models.ForeignKey(User, related_name='isFriendToUser', db_index=True)
is_deleted = models.BooleanField(default=False)
lastModifiedDate = models.DateTimeField(default=datetime_now)
when i have
followinguser = Follower.objects.all().filter(user=user, is_deleted=False)
and use it to
Post.objects.filter(user=followinguser.isFriendToUser, is_deleted=False)
it returned error Cannot use QuerySet for "follower": Use a QuerySet for "User". i want to have query like this:
select * from Post
where
user in (select isFriendToUser from Follower where user='someuserobject' and is_deleted = 0)
AND
is_deleted = 0
Upvotes: 0
Views: 309
Reputation: 52103
If I understand correctly what you want to do:
Post.objects.filter(user__in=followinguser.values_list("isFriendToUser", flat=True), is_deleted=False)
Upvotes: 2