Python Django模型对象何时初始化?
我在Python和Django中遇到了一个有趣的问题。 我想只要把我的代码放进去,你就会得到我想要做的 views.py:Python Django模型对象何时初始化?,python,django,model,integer,init,Python,Django,Model,Integer,Init,我在Python和Django中遇到了一个有趣的问题。 我想只要把我的代码放进去,你就会得到我想要做的 views.py: def ingredients(request): objects = Ingredient.objects.all()[:50] return render(request, 'template.html', {'objects': objects} models.py: class Ingredient(models.Model): stock
def ingredients(request):
objects = Ingredient.objects.all()[:50]
return render(request, 'template.html', {'objects': objects}
models.py:
class Ingredient(models.Model):
stock_by = models.IntegerField(null=False)
unit = ""
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
unit_type = {
1: 'Units',
2: 'Kilograms',
3: 'Litters'
}
self.unit = unit_type[IntegerField.to_python(self.cost_by)]
错误:
TypeError at /Ingredient/
to_python() missing 1 required positional argument: 'value'
(值为无)
init.py(Django框架类):
我想我想要达到的目标是显而易见的。仅仅是一个字符串属性,它将采用单位值的名称(用db中的整数表示)。
to_python
是一个实例方法,您必须从实例而不是从类中调用它
IntegerField().to_python(self.cost_by)
IntegerField().to_python(self.cost_by)