我正在保存和更新窗體中的另一個模型,但更新沒有保存到數據庫。django更新模型,同時保存另一個表格
if request.method == 'POST':
form = InventoryTransactionForm(request.POST, instance=InventoryTransaction())
if form.is_valid():
quantity = request.POST['quantity']
part_id = request.POST['part_id']
item_template_id = request.POST['supply']
try:
item_object = Item.objects.get(pk=part_id)
masterQty = item_object.masterQty - int(quantity)
item_object.save(force_update=True)
except Exception, e:
messages.error(request, e.message)
任何人都可以請幫助上述代碼中的錯誤,謝謝。
編輯:更新的代碼如下
@transaction.commit_manually
def post(self, request, *args, **kwargs):
if request.method == 'POST':
form = InventoryTransactionForm(request.POST, instance=InventoryTransaction())
if form.is_valid():
quantity = request.POST['quantity']
part_id = request.POST['part_id']
item_template_id = request.POST['supply']
try:
item_object = Item.objects.get(pk=part_id)
masterQty = item_object.masterQty - int(quantity)
item_object.save(force_update=True)
transaction.commit()
except Exception, e:
transaction.rollback()
messages.error(request, e.message)
form.save(True)
您是否刪除了'try ... except'以查看是否引發了異常?該形式是否有效(即'if form.is_valid()'實際上是否爲'True')? – 2014-11-08 12:46:53
表單有效,表單模型對象在提交時成功創建。我會嘗試刪除嘗試....除了,看看我是否得到任何錯誤,謝謝 – user3575232 2014-11-08 13:21:20
嗨,我刪除了嘗試...除了,表單提交成功,但模型沒有更新數據庫。不過,我添加@ transaction.commit_manually,模型保存在數據庫中,但我得到錯誤「事務管理塊結束與懸而未決的COMMIT/ROLLBACK」,任何幫助如何解決此錯誤,嘗試搜索,但沒有解決方案工作,謝謝。 – user3575232 2014-11-08 14:12:32