ModelForm を使用していくつかのフォームを生成しています。私のフォームの 1 つに、ManyToOne の関係があります。このフォームは関係の「一」側に対応し、必要な ID の値を知っています (そして持っています)。
フォームは、データベースに存在するすべての可能な値を含む選択ボックスを生成しますが、ユーザーに選択させたくありません。
どうすればよいですか: - インターフェイスに依存せずに、その特定のフィールドの値を修正しますか? (私はJQuery経由でそれを行うことができますが、それはエレガントな方法ではありません) - その選択ボックスが表示されないようにしていますか?
ModelForm のコードは次のとおりです。
class SomeModelForm(ModelForm):
class Meta:
model = SomeModel
フォームを生成するには:
def some_model_signup(request, fk_id):
SomeModelSet = modelformset_factory(SomeModel)
if request.method == 'POST':
formset = SomeModelSet(request.POST, request.FILES)
if formset.is_valid():
formset.save()
# do something.
else:
formset = SomeModelFormSet(queryset=SomeModel.objects.none())
return render_to_response("form.html", {
"formset": formset, "fk_id": fk_id,
}, context_instance=RequestContext(request))