でdynmaic選択肢を反映しています。(AとBにそれらを呼び出す)Djangoは管理者doesnot私は2つの異なるシステム上で実行されている2つのプロジェクトを持っているchoiceField
Aに私は1つの動的選択フィールドを持つモデルを持っています。
class ModelA(models.Model):
field1 = models.CharField(max_length=255, choices=get_field1_list())
#..some more fields
とget_field1_list()
機能で、私はシステムB上で実行されているAPIを呼び出し、それがModelB(プロジェクトB)から来ている(選択フィールドに必要な)タプルのリストを返します
[(a,A), (b,B), (c,C)...]
今、私はこのモデル(ModelB)を管理パネルから変更すると(もう一つ行が追加されます)、modelAの選択肢に反映されるはずです。 管理パネルを更新しましたが、まだ表示されません。サーバーA(ローカルサーバー)を再起動すると、ModelA(システムA)の選択肢に新しく追加された(システムBの)行が表示されます。
私の質問はなぜこれが起こっているのですか?どのように私は生産のように毎回uwsgiやnginxを再起動したくないかもしれないので、この問題を解決することができます。 Djangoの1.9では
この場合、 'choices'は動的ではありません。最初の呼び出しで 'get_field1_list'が返されたものです。 'ModelA'と' ModelB'と 'ModelA.field1 = ForeignKey(ModelB)'との関係を設定するほうが良いでしょうか? –
彼らはどちらも別々のプロジェクトです。私はインポートして直接外部キーを使用することはできません – Wendy