Как ссылаться на файлы ForeignKey при отправке формы
В настоящее время у меня есть модель клиентов и модель карточки задания, которые связаны некоторыми данными клиента.
Я создал внешний ключ на поле имени клиента, чтобы пользователь мог ввести все данные клиента, просто выбрав предварительно добавленного клиента,
Как я смогу ссылаться на это при сохранении формы карточки вакансии. Это должно быть основано на том, что пользователь выбрал для поля customerName
, а затем это должно получить контактные данные и адрес из модели "клиент".
Пожалуйста, посмотрите следующий код :
Models.py:
class newCustomersClass(models.Model):
customerName = models.CharField("Customer Name",max_length=50 , blank=True)
addressStreetNo = models.CharField(max_length=50 , blank=True)
addressStreet = models.CharField(max_length=50 , blank=True)
addressSuburb = models.CharField(max_length=50, blank=True )
addressCity = models.CharField(max_length=50, blank=True )
contact = models.CharField(max_length=50, blank=True )
mail = models.CharField(max_length=50, blank=True )
CellNo = models.CharField(max_length=50, blank=True )
customerClass = newCustomersClass.objects.all()
customers = []
for row in customerClass:
rdict = {}
rdict.customerName = row[0]
customers.append(rdict)
class jobCardsClass(models.Model):
customerName = models.ForeignKey(to=newCustomersClass, on_delete=models.DO_NOTHING)
addressStreetNo = models.CharField(max_length=50 , blank=True)
addressStreet = models.CharField(max_length=50 , blank=True)
addressSuburb = models.CharField(max_length=50, blank=True )
addressCity = models.CharField(max_length=50, blank=True )
contact = models.CharField(max_length=50, blank=True )
mail = models.CharField(max_length=50, blank=True )
CellNo = models.CharField(max_length=50, blank=True )
jobNumber = models.CharField(max_length=50, blank=True )
dateRecieved = models.DateTimeField(auto_now=False, auto_now_add=False)
dateToBeCompleted = models.DateTimeField(auto_now=False, auto_now_add=False)
instructionBy = models.CharField(max_length=50, blank=True )
jobDoneBy = models.CharField(max_length=50, blank=True )
timeStarted = models.TimeField(auto_now=False, auto_now_add=False)
timeCompleted = models.TimeField(auto_now=False, auto_now_add=False)
Instructions = models.TextField(max_length=255)
Views.py:
def jobCard(request):
form = jobCardForm()
if request.method == 'POST':
form = jobCardForm(request.POST)
if form.is_valid():
form.save()
return redirect('home')
else:
print(form.errors)
content = {'form':form}
return render(request, 'main/jobCard.html', content)
jobCard.html: