擅长:python、mysql、java
<p>当您使用<strong>快捷键</strong><code>get_object_or_404</code>时,根据<a href="https://docs.djangoproject.com/en/1.9/topics/http/shortcuts/" rel="nofollow">Docs</a>,返回的对象已经是您正在使用的模型的一个实例。在本例中,<code>CostItems</code>对象。<br/></p>
<p>这意味着您应该使用直接返回的对象。<br/>
现在您将<code>ci.cost_item</code>作为参数传递。然而,<code>cost_item</code>是<code>CostItems</code>模型中的一个字段。因此,您将该字段作为参数传递,而不是整个实例。<br/></p>
<p>因此,Django提出了这个错误。如上所述,您应该使用<code>CostItem</code>的整个实例,以便使代码正常工作。在</p>
<p>你的代码应该是</p>
<pre><code>ci= get_object_or_404(CostItems, cost_item=form_save.cost_item)
cost_element_created = CostElements.objects.create(
description = des,
percent = 100,
usd_value = usd,
pesos_value = pes,
cost_item = ci)
</code></pre>