1

以下の「floorfield」について、次の効果を得るためにフィールド検証を追加したいとします。ユーザーが送信したフロアフィールド値が 0 未満の場合、ゼロより大きい新しいフロアフィールド値を送信するようユーザーに再プロンプトします。

私はdjangoのドキュメントを読み、チュートリアルを探しました。そして、上記の動作を実装する方法を理解しようとして、壁にへこみを入れています。

class Amodel(...):
    floorfield = integerfield()

class Amodel(CreateView):
    model = Amodel
    form_class = modelform_factory(Amodel, fields=("floorfield",))
4

2 に答える 2

0

カスタム フォームを modelform_factoryform引数として定義し、オーバーライドclean_floorfieldして、検証が自動的に行われるようにすることができます。

https://docs.djangoproject.com/en/dev/ref/forms/validation/#cleaning-a-specific-field-attribute

または、モデル フィールドfloorfieldとして定義するだけです。PositiveIntegerField

https://docs.djangoproject.com/en/dev/ref/models/fields/#positiveintegerfield

于 2013-09-08T19:28:33.733 に答える