5

Django フレームワーク (1.3.1) を Mongoengine と共に使用します。

投稿されたフィールド (期日) を保存しようとすると、

ValidationError (日付 "2013-12-31" を解析できません: ['DueDate'])

ただし、日付を保存するdatetime.datetime.now()と正常に機能します。例を検索した後、私は選択肢がありません。

コードの関連部分 (テキスト入力タグを使用した通常の HTML フォーム):

ビュー.py

goal.DueDate = request.POST['duedate']
goal.save()

models.py

class Goal(Document):
    DueDate = DateTimeField()
    last_update = DateTimeField(required=True)

何か案が?

更新(まだ自分自身に答えることはできません):

わかりました..解決策を見つけました。それを入力すると、明らかに新しい洞察が得られました。

goal.DueDate = datetime.datetime.strptime(request.POST['期日'], '%Y-%m-%d')

4

1 に答える 1

3

DateTimeField文字列ではなく日時が必要です。
形式がよく知られている場合は、更新のように strptime を使用するか、形式を推測できるdateutilparseメソッドを使用できます。

Web 側からフォームで送信する、より安全な ISO 形式の文字列を採用することも検討する必要があります。

于 2013-05-17T10:45:53.180 に答える