我有以下的Django模型工作:與外鍵關係中的多個對象inlineform_set
class Order:
order_id
order_date
class OrderItem
models.ForeignKey(Order)
models.ForeignKey(Product)
quantity
unit_price
爲了解釋,一個訂單可以包含多個訂單項目。
現在,我想創建一個允許創建訂單的模板。所以,在我看來,我的功能有以下幾點:
def new_order:
order = Order()
OrderItemFormSet = inlineformset_factory(Order, OrderItem, extra=2)
formset = OrderItemFormSet()
cntx = {'formset': formset, 'order':order}
return render_to_response('some_page.html', cntx)
在模板本身,我遍歷在該formset的形式和一切似乎工作意味着我能夠創建多個訂單項目的訂單。
現在,我創建了一個名爲Product的新模型。新的產品模型將成爲OrderItem模型的一部分。所以我們爲了項目包含與其他指標,如數量,單價等
class Product:
product_code
product_name
下沿的產品,我更新了以下行OrderItem的模型:
product = models.ForeignKey(Product)
我現在面臨的問題是如何在模板中處理上述場景。添加產品模型之前,for循環它迭代該formset是這樣的:
{% for form in formset %}
<td> {{form.quantity}} </td>
....
{%endfor%}
現在,理想情況下,我以爲我會這樣:
{% for form in formset %}
<td> {{form.quantity}} </td>
<td> {{form.product.code}} </td>
....
但上面不起作用。基本上,我想要實現的目的是能夠在爲訂單創建訂單項目時添加產品代碼。保存後,訂單項應與用戶輸入的產品代碼的相應產品ID一起保存。
任何洞察力將不勝感激。
謝謝...