簡體   English   中英

如何在Django上列出與多體關系的對象? 示例:用戶和關注

[英]How to list objects with relationship manytomany on Django? example: users and follows

我當時像微博一樣成為微博,我想列出經過身份驗證的用戶正在關注的用戶的帖子。

楷模:

class Post(models.Model):
    post = models.TextField(max_length=300)
    created = models.DateTimeField(auto_now=True)
    user = models.ForeignKey(User)

    def __unicode__(self):
        return self.post

class UserProfile(models.Model):
    USER_SEX = (
        ('M', 'Masculino'),
        ('F', 'Femenino'),
    )
    birthday = models.DateField(null=False)
    sex = models.CharField(max_length=1, choices=USER_SEX)
    description = models.TextField(max_length=100, null=True)
    location = models.CharField(blank=True, max_length=100, null=True)
    user = models.OneToOneField(User)
    follows = models.ManyToManyField('UserProfile', related_name='followed_by', blank=True, symmetrical=False)

    def __unicode__(self):
            return self.user.get_username()

觀看次數:

def show_posts(request):
    user = request.user
    following = user.userprofile.follows.all()
    posts = Post.objects.filter(user__in=following).order_by('-created')
    return render_to_response("posts.html", context_instance = RequestContext(request, {'posts':posts}))

此功能返回除已認證用戶之外的所有用戶的所有帖子。 我不要這個 我只想顯示已驗證用戶的所有用戶帖子以及已驗證用戶的帖子。

有人可以幫我嗎?

我不確定我的回答,但沒有人回答,所以這是我的嘗試。

following是一個QuerySet,它成為UserProfile的列表,但您對user__in過濾,后者是User的列表。 您能嘗試follows User的ManyToManyField來告訴我們結果嗎? 即使您仍然遇到相同的問題,過濾器也會更有意義!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM