如何使用“author
s”(author
s)中的“User
”过滤对象?
“对象”为Post
个,有author
(ForeignKey
到User
)。
我对此感到非常难过,所以我很感激你的帮助。当然,人们可以通过手动过滤它们来实现这种天真的方式,但这会很难打到数据库。不管怎么说,还是要谢谢你。
编辑: 发布帖子:
class Post(models.Model):
'''A Post or a Status Update.
'''
content=models.CharField(max_length=200)
author=models.ForeignKey(django.contrib.auth.models.User, related_name="author")
tags=models.ManyToManyField(Tag)
replyTo=models.ManyToManyField(django.contrib.auth.models.User, related_name="replyTo")
# Snip model methods
澄清:我正在尝试根据一组用户而不是单个用户进行过滤(这很容易做到) 当= models.DateTimeField(auto_now = TRUE)
感谢所有帮助解决上一个问题的人。现在我有一个最后要问的问题:
UserProfile(连接到用户)的代码摘录:
def get_updates():
return Post.objects.filter(author__in=(list(self.friends.all()) + [self]))
这是获取作者及其朋友的所有帖子的最有效方式吗? (注意:这是一个天真的实现,因为它不处理分页等。稍后会这样做)
答案 0 :(得分:4)
类似的东西:
Post.objects.filter(author=user)
user
相关用户应该在哪里工作,但很难给出没有模型的好答案
修改强>
现在我理解了你的问题,试试这个:
Post.objects.filter(author__in=users)
用户是用户集的地方
答案 1 :(得分:4)
Post.objects.filter(author__in=setofusers)
答案 2 :(得分:0)
Post.objects.filter(attribute__in = list_of_ids)