0

models.py

class MyModel(models.Model):
maximum_limit = models.PositiveIntegerField(default=5)

ここで maximum_limit のデフォルト値を 5 に設定します。

しかし、管理者からも編集可能な値を設定し、ここでデフォルト値として使用したいと考えています。(モデル MyModel の編集可能なデフォルト値)

私の最初のアプローチは(機能していません)です。私はこのようなものが欲しいです。

class MySettings(models.Model):
mx_limit = models.PositiveIntegerField(default=5)

class MyModel(models.Model):
maximum_limit = models.PositiveIntegerField(default=MySettings.mx_limit)

私を助けてください

4

1 に答える 1

1

あなたのアプローチは間違っています.db値の最大値は、適切な属性、つまりmax_valueで設定する必要があります。

ただし、これを変更するたびにスキーマ移行が必要になります。したがって、実際に行う必要があるのは、フォームが設​​定をチェックする動的フォーム検証です (これはおそらくデータベースに保存され、サーバーの再起動が必要になる設定のようなモジュールに静的に保存されるべきではありません)。

スタックオーバーフローでフォーム検証をより動的にする方法の例がたくさんあります

于 2012-11-12T07:56:16.963 に答える