Я хотел бы решить проблему с обработкой формы моего файлаview.py.
Я хотел бы обработать ModelForm. Вместо того, чтобы позволить пользователю заполнять поле Field fk_transaction, я хотел бы создать новую запись транзакции и добавить ее в качестве ForeignKey в фоновом режиме в CcountBooking. Форма отображается корректно в шаблоне. Также транзакция успешно создана. Однако когда я хочу добавить и сохранить его в форме в view.py, выдается ошибка, сообщающая, что поле не существует.
Спасибо за любую помощь!
Мой view.py:
from django.http import HttpResponse
from django.shortcuts import render
from forms import AccountBookingForm
from models import Transaction
def deposit(request):
context = {}
if request.method == "POST":
form = AccountBookingForm(request.POST)
t = Transaction()
form.fk_transaction = t
form.save()
return render(request, "deposit_success.html", {"form": form})
else:
form = AccountBookingForm()
return render(request, "deposit.html", {"form": form})
Мои модели.py:
class Transaction(models.Model):
type = models.CharField(max_length=11, choices=TR_TYPE_CHOICES, default=DEPOSIT)
status = models.CharField(max_length=11, choices=TR_STATUS_CHOICES, default=DRAFT)
text = models.TextField(max_length=500, default="", blank=True)
class AccountBooking(models.Model):
fk_bankaccount = models.ForeignKey(
BankAccount, on_delete=models.CASCADE, blank=False)
fk_transaction = models.ForeignKey(Transaction, on_delete=models.CASCADE, blank=False)
value = models.DecimalField(max_digits=14, decimal_places=2, blank=False)
Мои формы.py
from django.forms import ModelForm
from .models import AccountBooking
class AccountBookingForm(ModelForm):
class Meta:
model = AccountBooking
fields = ["__all__"]
exclude = ("fk_transaction",)
Подробнее здесь: https://stackoverflow.com/questions/787 ... foreignkey
Обработка форм Django – как создать запись и добавить ее как ForeignKey ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение