我有一个继承自Action的类InheritAction。现在我想做的是为PositiveIntegerField提供不同的选择。我知道我们不能覆盖django中的类属性。但有没有办法做到这一点。提前致谢
ACTION_TYPE = (
(1, 'Approve'),
(2, 'Reject'),
(3, 'More Information Required'),
(4, 'Status Update')
)
class Action(models.Model):
type = models.PositiveIntegerField(choices=ACTION_TYPE)
INHERIT_ACTION_TYPE = (
(1, 'Approve'),
(2, 'Reject'),
(3, 'More Information Required'),
(4, 'Status Update')
)
class InheritAction(Action):
pass
我试过这样做......
InheritAction._meta.get_field('type).choices = INHERIT_ACTION_TYPE
但是给出了错误......
AttributeError: can't set attribute
答案 0 :(得分:0)
您可以覆盖表单中的选项。
class InheritActionForm(forms.ModelForm):
type = forms.ChoiceField(choices = INHERIT_ACTION_TYPE)
class Meta:
model = InheritAction
如果需要,你可以use that form in the admin
据我所知,选项选项不会向数据库添加任何约束,它只适用于自动生成的表单。