2017-08-20 9 views
0

私はdjangoモデルクラスにmodelChoiceフィールドを持っています。その選択肢は別のモデル値に基づいています。後者のモデルに新しいエントリを追加するたびに、サーバーを再起動するまで値がページに反映されません。以下の私のコードです:私は、サーバーを再起動するまでdjangoモデルをリロードする方法

from multiselectfield import MultiSelectField 
class FirstModel(models.Model): 
    choices = [(x.pk,x.subject_title) for x in Subject.objects.all()] 
    choices = tuple(choices) 
    subjects_to_offer = MultiSelectField(choices=choices) 

class Subject(models.Model): 
    # field declarations 

今私は、件名を更新するたびに、値は、ページには反映されません。サーバを再起動せずにFirstモデルを再ロードするにはどうすればいいですか? 多くのタンク P.S MultiSelectFieldは、https://github.com/goinnn/django-multiselectfieldのパッケージです。いくつかの機能が追加されています。サーバーを再起動しなくてもモデルを再ロードする方法を見つけられれば、私はうまくいくでしょう。

答えて

0

うん、これはこの方法では解決できません。

モデルで単純なM2Mフィールドを使用し、必要な方法でフロントエンドに保存するためのカスタム関数を書くのが良い方法は、フィールドの最大数を選択することです。

この場合、プログラムの開始時またはコードのコンパイル時に選択肢が作成されます。

その他のオプションがない場合は、this linkに従うことができます。基本的には、save()を実行し直す必要があります。この例では、devとproduction(apache/wsgi)サーバーの両方について説明します。

関連する問題