Я хочу отредактировать запись, и это одновременно и ребенок.
Итак, у меня есть модель Price, в которой Entry (другая модель) является внешним ключом.
class Price(models.Model):
price = models.ForeignKey(Entry, on_delete = models.CASCADE)
ptext = models.FloatField(blank = True, null = True)
date_added = models.DateTimeField(auto_now_add = True)
class Meta:
verbose_name_plural = 'prices'
def __str__(self):
return self.ptext[:50] + "..." `
Как бы я вытащил цену из модели входа?
Я могу изменять только данные внутри модели входа, но не модель цены.Часть экземпляра дает проблему в частности.Я не знаю, что поставить для экземпляра PriceForm.
def edit_entry(request, entry_id):
entry = Entry.objects.get(id = entry_id)
price = entry.price_set.get.all()
topic = entry.topic
check_topic_owner(topic.owner, request.user)
if request.method != 'POST':
form = EntryForm(instance = entry)
form2 = PriceForm(instance = price)
else:
form = EntryForm(instance=entry, data = request.POST)
form2 = PriceForm(instance=price, data = request.POST)
if form.is_valid() and form2.is_valid():
form.save()
form2.save()
return HttpResponseRedirect(reverse('learning_logs:topics'))
context = {'entry': entry, 'topic': topic, 'form': form, 'form2':form2}
return render(request, 'learning_logs/edit_entry.html', context)