我的Django项目的配料模型有一个IntegerField
,它声明该配料库存是否按重量、单位或垃圾进行管理
虽然数据库有它的integer
值,但我必须显示它的名称。我认为覆盖Python类的__init__
方法更好,而不是遍历每个成分并设置其值,但我不知道如何覆盖
models.py:
class Ingredient(models.Model):
def __init__(self):
super(Ingredient, self).__init__()
if self.cost_by == 1:
self.cost_by = 'Units'
elif self.cost_by == 2:
self.cost_by = 'Kilograms'
elif self.cost_by == 3:
self.cost_by = 'Litters'
#...etc...
到目前为止,我尝试了这个,但我得到了以下错误:
__init__() takes 1 positional argument but 0 were given
我应该提供什么论据
如果在包含值到名称映射的字段上定义}
choices
,则将在该字段的任何ModelForm
中呈现一个选择字段,并在模型上生成一个方法,以获取所选值的显示名称^{像这样使用
我在这里发现的问题是,您没有将
*args
和**kwargs
传递给模型的__init__()
和超级的__init__()
相关问题 更多 >
编程相关推荐