2016-04-22 17 views
0

ich bin auf meinem Mini-Projekt und habe ein Problem. dies ist meine Modelledjango orm filter von anderen queryset

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) 

wenn ich

followinguser = Follower.objects.all().filter(user=user, is_deleted=False) 

haben und es zu

Post.objects.filter(user=followinguser.isFriendToUser, is_deleted=False) 

es einen Fehler zurückgegeben verwenden kann nicht QuerySet verwenden für "Follower": eine QuerySet für "User" Verwenden . möchte ich Abfrage wie diese haben:

select * from Post 
where 
    user in (select isFriendToUser from Follower where user='someuserobject' and is_deleted = 0) 
    AND 
    is_deleted = 0 
+0

Nun haben Spaß Debuggen, wenn Sie Hilfe benötigen Sie eine * deskriptive fragen * Frage, erklären was der Fehler ist und was Sie versucht haben zu versuchen, das Problem zu lösen. – Sayse

+0

Fehler: Kann QuerySet nicht für "Follower" verwenden: Verwenden Sie ein QuerySet für "Benutzer". – Mahyar

+0

was genau willst du tun, Alter? – ozgur

Antwort

2

Wenn ich richtig verstehe, was Sie tun möchten:

Post.objects.filter(user__in=followinguser.values_list("isFriendToUser", flat=True), is_deleted=False) 
+0

das ist genau das, was ich brauche. ich danke dir sehr – Mahyar

Verwandte Themen