0

模型.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

但是,每次您想要更改它时,都需要进行架构迁移。因此,您真正应该做的是动态表单验证,其中您的表单检查设置(可能应该保存在您的数据库中,而不是静态存储在设置之类的模块中,这需要重新启动服务器)。

有很多示例如何在 stackoverflow 上更动态地进行表单验证

于 2012-11-12T07:56:16.963 回答