0

djangoでそのようなクエリを作成する方法。

トピックモデルとの関係を見つけることができるサイトモデルがあります。トピックモデルでは、ポストモデルとの関係を知ることができます。トピックではなく、サイトに関する情報のみを含むサイトから投稿を抽出したい。さらに投稿はクエリで開始する必要があります。

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がクエリセットではないというエラーがあり、そのようなアクションを実行できません。それは非常に明白です、しかし私はそれをどのように機能させるのか分かりませんか?filter(** kwargs)を使用できると聞きましたが、使用方法がわかりません。

4

1 に答える 1

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)
于 2012-07-18T15:04:12.450 に答える