【发布时间】:2018-12-26 15:58:03
【问题描述】:
我已经设置了一个名为 Configuration 的模型,其中包含可配置的详细信息,例如 maximum_stake,并在 admin.py 中注册了它,以便管理员可以即时更改它们。
我的大部分验证都是通过自然的 ModelForm 验证完成的,但是当我尝试使用 Configuration 模型中动态变化的约束来执行此操作时,Postgre 抱怨关系不存在(所以我无法创建迁移来构建或编辑配置模型表)。但是,即使在进行了这些更改之后,数据库仍然不满意。有没有其他方法可以做到这一点?
# models.py
class Investor(models.Model):
stake = models.DecimalField(max_digits=4, decimal_places=2, default=0.00)
class InvestorForm(forms.ModelForm):
stake = forms.DecimalField(help_text="The income stake as a percentage (0.00% - 8.00%)", validators=[
MinValueValidator(0, f'Stake must be between 0.00%% and {getConfig(ConfigData.MAXIMUM_STAKE)}.00%%'),
MaxValueValidator(getConfig(ConfigData.MAXIMUM_STAKE),
f'Stake must be between 0.00%% and {getConfig(ConfigData.MAXIMUM_STAKE)}.00%%')
])
class Meta:
model = Investor
fields = '__all__'
【问题讨论】:
标签: django postgresql validation django-models django-admin