0

FAQアプリを使用したプロジェクトがあります。このアプリには、FAQ (サイトの作成者によって作成された) と UserFAQ (ユーザーによって作成された - 単なる巧妙な名前ではありません) のモデルがあります。特定の条件に一致するすべてのエントリ、FAQ、または UserFAQ を返したいのですが、特定の条件に一致しない UserFAQ も除外したいと考えています。理想的には、次のようになります。

faqs = FAQ.objects.filter(question__icontains=search).exclude(show_on_site=False)

「show_on_site」は、UserFAQ オブジェクトのみが持つプロパティです。プロパティを所有していないため、フィルターが親クラスでクラップアウトするため、これは機能しません。これを行う最善の方法は何ですか?このスニペットに出くわしましたが、やりたいことはやり過ぎのようです。

4

1 に答える 1

1

あなたの立場では、2 つのテーブルを用意する必要がなければ、is_user_faq フィールドと show_on_site フィールドを持つ 1 つの FAQ モデル/テーブルを用意したくなるでしょう。

データをモデル化するときに、簡単かつ迅速にアクセスできるように整理すると役立つ場合があります。モデルの継承にはいくつかの魅力がありますが、多くの場合、モデルの継承を使用しない方が簡単であることがわかりました。

于 2009-06-26T05:13:27.657 に答える