python django программа выставления счетов, связать с внешним ключом и сохранить обе модели - PullRequest
0 голосов
/ 27 января 2020

Я новее на python. Я пытаюсь создать простое приложение для выставления счетов с заголовком счета и строками счета для деталей следующим образом Как я могу создать представление для создания и сохранения новых счетов и новых деталей счетов, связанных между собой с иностранными? И показать это по шаблону?

Модели:

class invoice(models.Model):
    invoice_number = models.CharField(max_length=255)
    date = models.CharField(max_length=255)
    client = models.CharField(max_length=255)

class invoiceline(models.Model):
    invoice_number = models.ForeignKey(invoice, on_delete=models.CASCADE)
    article = models.CharField(max_length=255)
    quantity = models.CharField(max_length=255)
    price = models.CharField(max_length=255)

Просмотров:

def invoice_create(request):
    print(request.POST)
    invoice_number = request.GET['invoice_number']
    date = request.GET['date']
    client = request.GET['client']
    invoice_details = invoice(invoice_number=invoice_number, date=date, client=client)
    invoice_details.save()
    return redirect('/')

def invoiceline_create(request):
    print(request.POST)
    invoice_number = request.GET['invoice_number']
    article = request.GET['article']
    quantity = request.GET['quantity']
    price = request.GET['price']
    invoicelines_details = invoiceline(invoice_number=invoice_number, article=article, quantity=quantity, price=price)
    invoicelines_details.save()
    return redirect('/invoiceline_index')

спасибо,

1 Ответ

0 голосов
/ 28 января 2020

сначала вы должны получить счет-фактуру из таблицы счетов-фактур по invoice_number, а после этого выставить счет-фактуру по invoice_number таблицы invoiceline. выглядеть как:

def invoiceline_create(request):
    print(request.POST)
    invoice_number = request.GET['invoice_number']
    article = request.GET['article']
    quantity = request.GET['quantity']
    price = request.GET['price']
    try:
        find_invoice = invoice.objects.get(invoice_number=invoice_number)
    except Exception as e:
        raise e
    invoicelines_details = invoiceline(invoice_number=find_invoice, article=article, quantity=quantity, price=price)
    invoicelines_details.save()
    return redirect('/invoiceline_index')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...