0

Generic Relation を使用して ContentType の選択を制限してlimit_choices_toいますが、存在しないモデルが表示されます。たとえば、次のコードを使用します。

 employer_content_type = models.ForeignKey(ContentType,
    limit_choices_to={"model__in": ('venue', 'festival')}, related_name="employer")

重複する選択肢のリストを取得します。つまり、フェスティバル、フェスティバル、会場、会場です。

ただし、次のようなモデルだけでなく、アプリごとに選択肢を制限すると、次のようになります。

    employer_content_type = models.ForeignKey(ContentType,
          limit_choices_to={'app_label': 'contacts'}, related_name="employer")

住所、メールアドレス、フェスティバル、会場など、重複のないすべてのモデルのリストを取得します

開発中のある時点で、古いアプリの複製である新しいアプリ (「連絡先」) を作成しました。すべてのモデルが同じ名前などを持っていました。最初はこれが重複の原因だと思っていましたが、古いアプリをsettings.pyから削除し、古いモデルをデータベースから削除しても問題は解決しませんでした。

キャッシュの問題だと思いますが、キャッシュを設定したことはありません!

キャッシュをクリアするか、モデルとアプリごとに同時に選択肢を制限するにはどうすればよいですか。

ご協力いただきありがとうございます!

注:残念ながら写真を追加できなかったので、説明するのは少し難しいです!

4

1 に答える 1

0

contenttypes_contenttype db テーブルを探して、古いモデルを削除します。syncdb は、古いモデルをコンテンツ タイプ テーブルから削除するように求めるメッセージも表示します。

于 2012-10-03T20:54:43.630 に答える