我有一个Post表,每个帖子可能有三种类型之一; foo,bar或foobar。如果我从posts表中提取所有数据,我怎么能在查询所有对象后将这些类型中的每一个分配给变量。
def posts(request):
posts = Posts.objects.all()
我不想做什么
def posts(request):
a = Posts.objects.all().filter(type=foo)
b = Posts.objects.all().filter(type=bar)
c = Posts.objects.all().filter(type=foobar)
答案 0 :(得分:0)
您可以对同一查询应用不同的过滤器:
posts = Posts.objects.all()
foo_posts = posts.filter(type='foo')
bar_posts = posts.filter(type='bar')
foobar_posts = posts.filter(type='foobar')
这意味着你可以这样做:
categories = ['foo', 'bar', 'foobar']
filtered_posts = Posts.objects.filter(**my_custom_query)
category_queries = {}
for category in categories:
category_queries[category] = filtered_posts.filter(type=category)