Редактирование темы и ее подзаписей одновременно - PullRequest
0 голосов
/ 15 декабря 2018

Я хочу отредактировать запись, и это одновременно и ребенок.

Итак, у меня есть модель 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)

1 Ответ

0 голосов
/ 15 декабря 2018

Чтобы получить все цену объектов из записи объекта, вы должны использовать

price = entry.price_set.all()

вместо

price = entry.price_set.get.all()
...