Я сохраняю и обновляю другую модель в форме, но обновление не сохраняется в базе данных.Модель обновления 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)
Может кто-нибудь, пожалуйста, помогите, что не так в приведенном выше коде, спасибо.
EDIT: обновленный код, как показано ниже
@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')? –
Форма действительна, объект модели формы успешно создается при представлении. Я попытаюсь удалить try .... за исключением и посмотреть, если я получаю какую-либо ошибку, спасибо – user3575232
Привет, я удалил try ... кроме того, форма отправляется успешно, но модель не обновляется в базе данных. Однако я добавил @ transaction.commit_manually, модель сохраняется в базе данных, но я получаю сообщение об ошибке «Управляемый блок транзакций завершен с ожиданием COMMIT/ROLLBACK», любая помощь в том, как разрешить эту ошибку, попыталась выполнить поиск, но ни одно из решений не сработало, спасибо , – user3575232