0
我做了一個微博,像twitter,我想列出經過身份驗證的用戶正在關注的用戶的帖子。如何在Django中列出關係manytomany的對象?例如:用戶,並遵循
型號:
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}))
該函數返回的所有用戶的所有帖子,除了通過驗證的用戶。我不想要這個。 我想顯示所有用戶的帖子,只有用戶身份驗證正在關注以及用戶身份驗證的帖子。
有人可以幫助我嗎?