web-dev-qa-db-ja.com

モデルからDjangoでDateField形式を設定するにはどうすればよいですか?

Djangoアプリケーションを作成していますが、次の問題があります。日付を設定するときにこのエラーが表示されます。

ValidationError [u"'12/06/2012' value has an invalid date format. It must be in YYYY-MM-DD format."]

このモデルの場合:

class ModelA(models.Model):

    date1 = models.DateField(null=True)
    date2 = models.DateField(null=True)

DateField形式を%m/%d/%Yに設定するにはどうすればよいですか。

オプション"input_formats"は認識されません。

ありがとうございました!

15
jartymcfly

彼の答えで述べたように@brunoとして、input_formatsはフォームフィールドですが、モデルから保存された日付形式を制御するために使用できます。

settings.py設定DATE_INPUT_FORMATS 以下のように:

DATE_INPUT_FORMATS = ['%d-%m-%Y']

そして、あなたのフォームでは次のようなことができます:

class ClientDetailsForm(ModelForm):
    date_of_birth = DateField(input_formats=settings.DATE_INPUT_FORMATS)
    class Meta:
       model = ModelA
14
Vaulstein

input_formatsforms.DateFieldオプション であり、model.DateFieldオプションではありません。モデルではなく、フォームで設定する必要があります。

17