Django modal autoimplement
Может ли кто-нибудь посоветовать, как справиться с получением данных из других моделей в Django? Я смог поместить в форму информацию с названием компании, но после выбора из выпадающего списка я хотел бы, чтобы ИНН заполнялся автоматически. Проблема заключается как в автоматическом заполнении, так и в привязке и извлечении данных.
Модель:
klient_lista = Klient.objects.all().values_list("nazwa_firmy", "nazwa_firmy")
class Faktura(models.Model):
numer = models.CharField(max_length=260, blank=False, null=False, unique=True)
klient = models.CharField(max_length=260, choices=klient_lista)
NIP = models.CharField(max_length=260)
kwota_netto = models.FloatField(blank=False, null=True)
VAT = models.FloatField(blank=False, null=True)
kwota_brutto = models.FloatField(blank=False, null=True)
@login_required
def Faktury(request):
faktura = Faktura.objects.all()
faktura_Form = Faktura_Form(request.POST or None)
if faktura_Form.is_valid():
faktura_Form.save()
return redirect(Faktury)
return render(request, 'Faktury.html', {'form': Faktura_Form, 'faktura': faktura})`
[enter image description here][1]
[enter image description here][2]
[1]: https://i.stack.imgur.com/hoUZw.png
[2]: https://i.stack.imgur.com/DSCEj.png
Вам не нужно хранить объекты klient в переменной, вместо этого используйте внешний ключ для связи двух таблиц. Я надеюсь, что вы обращаетесь к полю "номер" по ИНН и оно определено в модели klient
class Faktura(models.Model):
klient = models.ForeignKey(Klient,on_delete=models.CASCADE)
NIP = models.CharField(max_length=260)
kwota_netto = models.FloatField(blank=False, null=True)
VAT = models.FloatField(blank=False, null=True)
kwota_brutto = models.FloatField(blank=False, null=True)
Я храню его в модели Klient, так же как и название компании.