我想插入两个表:CostItems和CostElements,CostElements将cost_item作为foreignkey from CostItems,但当我运行它时,它会显示以下错误消息:
Cannot assign "22": "CostElements.cost_item" must be a "CostItems" instance.
以下是我的代码:
在模型.py公司名称:
class CostItems(ModelAudit):
cost_item = models.AutoField(primary_key = True, verbose_name = 'Item de costo')
group = models.ForeignKey(Groups, verbose_name = 'Grupo')
description = models.CharField(max_length = 100, verbose_name =' Descripcion')
usd_value = models.IntegerField(verbose_name ='Valor en USD')
rer = models.IntegerField(verbose_name = 'TRM')
pesos_value = models.IntegerField(verbose_name = 'Valor en pesos')
supplier = models.ForeignKey(Suppliers, verbose_name = 'Proveedor')
position = models.ForeignKey(Positions, verbose_name = 'Cargo')
observations = models.TextField(max_length = 500, verbose_name = 'Observación')
validity_date = models.DateField(verbose_name = 'Fecha de vigencia')
class CostElements(ModelAudit):
cost_element = models.AutoField(primary_key = True, verbose_name = 'Elemento de costo')
cost_item = models.ForeignKey(CostItems, verbose_name = 'Item de costo')
description = models.CharField(max_length = 100, verbose_name = 'Descripción')
usd_value = models.IntegerField(verbose_name = 'Valor en USD')
pesos_value = models.IntegerField(verbose_name = 'Valor en pesos')
percent = models.IntegerField(verbose_name = 'Porcentaje de peso')
在视图.py公司名称:
^{pr2}$22它已经在表单后创建了CostItem ID_保存。保存(force_insert=true),我不知道为什么不起作用,请帮忙!!在
解决了,只是去掉了表单前变量赋值的“comas”_保存。保存而且成功了。在
谢谢拉斐尔
当您使用快捷键
get_object_or_404
时,根据Docs,返回的对象已经是您正在使用的模型的一个实例。在本例中,CostItems
对象。这意味着您应该使用直接返回的对象。
现在您将
ci.cost_item
作为参数传递。然而,cost_item
是CostItems
模型中的一个字段。因此,您将该字段作为参数传递,而不是整个实例。因此,Django提出了这个错误。如上所述,您应该使用
CostItem
的整个实例,以便使代码正常工作。在你的代码应该是
相关问题 更多 >
编程相关推荐