lambdaを使えと言うけれど
以前見かけたblogがなかなか見つからない。
ChoiceFieldで、DBから値を取得しているのだけど、キャッシュされ
更新しても、新しい値が表示されない。
lambda式を使うことらしいが、イマイチ良く分からない。
ModelFormの書き方が悪いのだろうか。あぁ、悶々。
(2009.04.22 追記)
id:nullpobugさんから教えていただいた、「ModelChoiceField」で実装し、__unicode__メソッドを
オーバライドして対応できた。ありがとうございます。
class MaterialForm(forms.ModelForm): project = forms.ModelChoiceField(label='プロジェクト名', queryset=Project.objects.all(), required=True) storage = forms.ModelChoiceField(label='保存場所', queryset=Storage.objects.all(), required=True) class Meta: model = Material
参考にしたサイト
フォームフィールド — Django v1.0 documentation
django.forms.ModelChoiceFieldをカスタマイズ - 記憶は削除の方向で
def __unicode__(self): return self.project_name
これが表示されるのか、知らなかった・・・。
というか、全然知らなさすぎ。