Как получить иностранный ключ в формах и представлениях django
Мне очень трудно получить поле в модели foreignkey из этого примера кода экземпляра в моем views.py. я использую forms.ModelForm кто-нибудь может мне помочь
models.py
class tableA(models.Model):
name = models.CharField(max_length = 30)
class TableB(models.Model):
number = models.CharField(max_length = 30)
class TableC(models.Model):
amount = models.CharField(max_length = 30)
class TableD(models.Model):
identity_number = models.CharField(max_length = 30)
case_number = models.CharField(max_length = 30)
tablea = models.ForeignKey(tableA, related_name='tableas')
tableb = models.ForeignKey(tableB, related_name="tablebs", on_delete=models.CASCADE)
tablec = models.ForeignKey(tableC, related_name="tablecs", on_delete=models.CASCADE)
forms.py
class TableDDataForm (forms.ModelForm):
class Meta:
model = TableD
fields = '__all__'
views.py
def tabledviews(request):
form = TableDDataForm (request.POST or None )
if request.method == "POST":
if form.is_valid():
identity_number = form.cleaned_data['identity_number']
case_number = form.cleaned_data['case_number']
tablea = form.cleaned_data['tablea']
tableb = form.cleaned_data['tableb']
tablec = form.cleaned_data['tablec']
post = Post.objects.create(
name = tablea.name,
number = tableb.number,
amount = tablec.amount,
case_number = case_number,
)
return render(request, 'table/success.html', 'tablea':tablea, 'tableb':tableb, 'tablec':tablec, 'post':post,)
else:
form = TableDDataForm()
context = {
'form':form,
}
return render(request, 'table/tabled.html', context)
Этот объект полей foreignKey не извлекается в моих представлениях и мне нужна помощь. Я хочу иметь возможность получить имя в TableA в TableDDataForm, аналогичный номер в Tableb в TableDDataForm и сумму в Tablec в TableDDataForm. Любая помощь будет высоко оценена.