Python 如何在Django上列出具有多个关系的对象?示例:用户和跟踪
我制作了一个类似twitter的微博,我想列出认证用户关注的用户帖子 型号:Python 如何在Django上列出具有多个关系的对象?示例:用户和跟踪,python,django,django-models,django-orm,Python,Django,Django Models,Django Orm,我制作了一个类似twitter的微博,我想列出认证用户关注的用户帖子 型号: 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 cl
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}))
此函数返回除已验证用户之外的所有用户的所有帖子。我不要这个。
我想显示所有用户的帖子,只有经过身份验证的用户在后面,还有经过身份验证的用户的帖子
有人能帮我吗?我不确定我的答案,但没有人回答,所以我试试看 下面是一个QuerySet,它将成为UserProfile的列表,但您会在user_uuin上进行筛选,这是一个user的列表。你能不能试着把下面的内容改成多个字段给用户,然后告诉我们结果?即使你仍然有同样的问题,过滤器将更有意义