1

dJango アプリに というモデルがありeventます。eventすべての情報が毎回変更されるわけではありません。

これを行うと、クローン イベント ページが読み込まれるため、一部の必須フィールドで検証エラーが発生します。これは、既存の からすべての情報をコピーするのeventではなく、一部のフィールドのみをコピーするためです。コピーされておらず必須ではないフィールドは、ページが最初に読み込まれたときに検証エラーをスローしています (ただし、ユーザーはまだフォームを送信していません)。その初期検証を行わないようにする方法はありますか?

[編集]

Model:
    class Event(models.Model):
        class Meta:
            db_table = 'event'

        type = models.ForeignKey(EventType, default="0")
        title = models.CharField(max_length=150, default='Event')
        location = models.TextField()
        description = models.TextField(max_length=1050)
        start_time = models.DateTimeField()
        end_time = models.DateTimeField()

ビューとテンプレート:

event_idクローンの場合、を実行してからクローンすることでイベントを取得しEvent.objects.get(id=event_id)ます。オブジェクトを取得したら、次のようにして に次の値を設定しますform

map = {
    'type': event.type.name,
    'title': event.title,
    'location': event.location,
    'description': event.description,
    'start_time': event.start_time,
    'end_time': event.end_time
}

form = EventForm(map)

オブジェクト内の値はform、モデル内の値と同じ名前です。クローンの場合title、マップから削除してフォームにロードすると、テンプレートにフォームを表示すると、その下に検証エラーがあります...しかし、ユーザーはページを開いたばかりです.. .

4

1 に答える 1

1

次のように実行できます。

form = EventForm(initial=map)
于 2012-08-19T00:00:19.740 に答える