0
Django 1.10。DateFieldを使用したフォーム:確認する方法has_changed()
学習用のフォームを試してみる。
The problem is that I can't manage to make form.has_changed() become a False.
つまり、form.has_changed()は常にTrueです。疑念は、理由がDateFieldにあるということです。 pub_date = forms.CharField()は期待されるFalseの結果を返すためです。
ドキュメント:https://docs.djangoproject.com/es/1.10/ref/forms/api/#django.forms.Form.has_changed
はあなたが私にここにキックもらえ:
1)それが理由のDateFieldのですか?
2)そうなら、それはなぜそうなのですか?実験で作られた のフォームは、私が見る限り同じです。 3) 3)対処方法は?
コード:
class PubDateForm(forms.Form):
pub_date = forms.DateField()
pub_date_data = {'pub_date': '2015-01-01'}
form = PubDateForm(
pub_date_data,
initial=pub_date_data
)
has_changed = form.has_changed()
実験:
pub_date_data = {'pub_date': '2015-01-01'}
form = PubDateForm(pub_date_data
# , initial=pub_date_data
)
has_changed = form.has_changed()
PubDateForm: <tr><th><label for="id_pub_date">Pub date:</label></th><td><input id="id_pub_date" name="pub_date" type="text" value="2015-01-01" required /></td></tr>
pub_date_data = {'pub_date': '2015-01-01'}
form = PubDateForm(
# pub_date_data,
initial=pub_date_data
)
PubDateForm: <tr><th><label for="id_pub_date">Pub date:</label></th><td><input id="id_pub_date" name="pub_date" type="text" value="2015-01-01" required /></td></tr>