Я сейчас пытаюсь установить значение foreignKey
в файле views.py
, но оно не изменяется.
models.py
class Item(models.Model):
sht = models.ForeignKey(Sheet, on_delete=models.CASCADE, blank=True, null=True)
name = models.CharField(max_length=100)
amount = models.IntegerField(default=1)
def __str__(self):
return self.name
views.py
def addItem(request, slug):
sheet = Sheet.objects.get(slug=slug)
form = forms.AddItem()
if request.user == sheet.author:
if request.method == 'POST':
form = forms.AddItem(request.POST)
if form.is_valid():
form.save(commit=False)
form.sht = Sheet.objects.get(slug=slug) # This is where it should change
form.save()
return redirect('sheets:detail', slug=slug)
else:
form = forms.AddItem()
form.sht = Sheet.objects.get(slug=slug)
return render(request, 'sheets/addItem.html', { 'form': form, 'slug': slug })
else:
return redirect('sheets:list')
После сохранения формы, после просмотра в консоли администратора, sht
никогда не изменяется и по-прежнему равен blank
. Я подтвердил, что существует объект Sheet
, когда views.py запускает Sheet.objects.get(slug=slug)
.