を上書きします。
モデルにDateFieldがある場合、次の例は機能します(DateTimeFieldを持っていることに注意してください)。あなたは通常指定されているものと全く同じフィールドタイプを指定しますが、フォームフィールドコンストラクターに別のウィジェットを渡します。
from django.db import models
from django import forms
from django.forms.extras import SelectDateWidget
class MyModel(models.Model):
a_date_field = models.DateField()
class MyModelForm(forms.ModelForm):
a_date_field = forms.DateField(widget=SelectDateWidget())
class Meta:
model = MyModel
ジャンゴ1.0.xではでDateTimeField
のために提供同等のウィジェットは、私の知る限りでは、ありませんこの場合、おそらくサブクラス化するSelectDateWidget
というカスタムウィジェットを作成する必要があります。私はSelectDateTimeWidget
の簡単なgoogleから、あなたが探しているウィジェットのように見えるものを作っているいくつかの人がいたことに気づいた。私はそれらを使用していないので、emptor注意してくださいが、this SelectDateTimeWidget patchのようなものは、開始するには良い場所かもしれません。
編集:ModelFormsetまたはInlineModelFormsetを使用している場合、あなたはまだinlineformet_factory
機能にform=MyModelForm
を渡すことによって、これを達成することができます:2つのモデルフォームセットの工場は、実際には正規formset_factory
コンストラクタを呼び出すため
MyModelFormset = inlineformset_factory(MyParentModel, MyModel, form=MyModelForm)
これは動作します独自の実装ではDjangoのドキュメントでは、モデルのformsetファクトリが通常のformset_factoryを継承していることを述べることで、この機能を暗に指摘しています。疑いがある場合はいつでも、私はdjango/forms/models.py
を開いて、formsetファクトリ関数の完全なシグネチャをチェックします。
返信ありがとう、 しかし、私はフォームを初期化するためにinlineformsetを使用していることを忘れています。私もその質問を編集しました。 – crashekar
心配しないで...私は答えを更新しました。 –
良い答え。しかし...「禁じられている」とは禁じられていることを意味しています。おそらく、「処方された」とは、あなたが探している意味に近いでしょう。 –