Ошибка при получении идентификатора иностранного ключа в django
Я новичок в django. Я пытаюсь сделать приложение для генератора счетов на django. где сотрудник вводит id клиента и переходит на страницу счета. на странице счета сотрудник может ввести id продукта и информация о продукте и клиенте будет добавлена в объект модели счета. так что я хочу добавить все продукты для того же id счета или хочу отфильтровать по id клиента, который получит все счета для id клиента вот код models.py
from django.db import models
from account.models import Customer
from product.models import Product
class Invoice(models.Model):
products = models.ForeignKey(Product, on_delete=models.CASCADE, default=1)
customers = models.ForeignKey(Customer, on_delete=models.CASCADE, default=4)
date = models.DateTimeField(auto_now_add=True)
total = models.BigIntegerField(default=0)
quantity = models.IntegerField(default=0)
views.py
def billingform(request):
if request.method == "POST":
cid = request.POST["customerId"]
customer = Customer.objects.get(id=cid)
request.session['customerId'] = cid
return redirect('invoice')
return render(request, 'bform.html')
def invoice(request):
cid = request.session.get('customerId')
customer = Customer.objects.get(id=cid)
if request.method == "POST":
pd = request.POST["product_id"]
qt = int(request.POST["quantity"])
product = Product.objects.get(id=pd)
pd_price = int(product.selling_price)
total = pd_price*qt
pd_name = product.name
Invoice.objects.create(products = product,
quantity = qt, total=total, customers = customer)
cust_id = Invoice.objects.get(id, customers=customer.id)
product_name = cust_id.products
product_quantity = cust_id.quantity
product_total = cust_id.total
return render(request, 'invoice.html', { "total":product_total, "customer": customer,
"product_names": product_name,
"quantitys": product_quantity,})
else:
return render(request, 'invoice.html', {"customers": customer})
Возможно, ошибка в этой строке...
cust_id = Invoice.objects.get(id, customers=customer.id)
Изменить на
cust_id = Invoice.objects.get(id=customer.id, customers=customer.id)
И дайте мне знать, если это не работает, тогда покажите мне ваш файл шаблона также...
cust_id = Invoice.objects.get(id=customer.id) Get: извлекает один объект и присваивает его переменной. Это должно исправить вашу ошибку