在查询django中查询

时间:2012-07-18 14:40:20

标签: django

如何在django中进行此类查询。

我有Site模型,在那里我可以找到与主题模型的关系。在主题模型中,我可以关注帖子模型。我想从一个只提供有关网站信息的网站上提取帖子,而不是主题。什么是更多的帖子必须从查询开始。

query = request.GET.get('query','')         
iweb_obj = IWeb.objects.get(id=iweb_id)
topics = Topic.objects.filter(iweb=iweb_obj)
iweb_posts = []

for t in topics:
  posts = Post.objects.filter(topic=t)

for p in posts:
  iweb_posts.append(p)          


iweb_posts = iweb_.filter(content__istartswith=query)

我有一个错误,iweb_posts不是查询集,我不能做出这样的动作。很明显,但是我不知道如何让它起作用?我听说我可以使用过滤器(** kwargs),但我不知道如何使用它?

1 个答案:

答案 0 :(得分:1)

由于您每次在posts循环中覆盖topic,因此您的逻辑看起来有点时髦。只使用查询集过滤器(我添加了__in过滤器),您可以在没有循环和列表的情况下完成所需的操作(例如):

query = request.GET.get('query','')         
iweb_obj = IWeb.objects.get(id=iweb_id)
topics = Topic.objects.filter(iweb=iweb_obj)

iweb_posts = Post.objects.filter(topic__in=topics).filter(content__istartswith=query)