Django -- 如何从一组“作者”(用户)中过滤出带“作者”的对象?
如何从一组“作者”(User
)中筛选出带有“author
”的对象?
这里的“对象”指的是Post
,它们有一个author
(这是指向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
澄清一下:我想根据一组用户来筛选,而不是单个用户(单个用户的筛选非常简单)。
感谢所有帮助我解决之前问题的人。现在我还有最后一个问题:
来自用户资料(与用户相关)的代码片段:
def get_updates():
return Post.objects.filter(author__in=(list(self.friends.all()) + [self]))
这是获取某个作者及其朋友所有帖子最有效的方法吗?(注意:这是一个简单的实现,因为它没有处理分页等问题。稍后会处理这些。)
3 个回答
0
在编程中,有时候我们会遇到一些问题,比如代码运行不正常或者出现错误。这种时候,我们需要去寻找解决方案。StackOverflow是一个很好的地方,程序员们可以在这里提问和回答问题。
当你在StackOverflow上看到一个问题时,通常会有很多人分享他们的经验和解决方法。有些回答可能会很复杂,但其实很多时候,问题的解决办法是比较简单的。
如果你在学习编程,遇到困难,不妨去看看StackOverflow上的相关问题和答案,可能会对你有很大的帮助。
Post.objects.filter(attribute__in = list_of_ids)
5
Post.objects.filter(author__in=setofusers)
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。
6
像这样:
Post.objects.filter(author=user)
这里的 user
是指相关的用户,应该可以正常工作,但没有模型的话,很难给出一个好的答案。
编辑
现在我明白你的问题了,试试这个:
Post.objects.filter(author__in=users)
这里的 users 是用户的集合。