Как вставить данные внешнего ключа через форму. Пожалуйста помоги . Что я делаю неправильно. Поэтому у меня есть две модели:
class Genre(models.Model):
"""Model representing a book genre."""
name = models.CharField(max_length=200, help_text='Enter a book genre (e.g. Science Fiction)')
def __str__(self):
"""String for representing the Model object."""
return self.name
ass UserItem(models.Model):
name= models.CharField(max_length = 50, null=True)
genre = models.ForeignKey(Genre, on_delete=models.SET_NULL, null=True)
Forms.py
: я хочу создать форму для хранения данных элемента. Невозможно сослаться на жанр и ввести значение через форму.
class ItemForm(forms.ModelForm):
name = forms.CharField()
genre = forms.CharField()
class Meta:
model = UserItem
fields = ['name', 'genre' ]
Views.py
def item(request):
if request.method == 'POST':
genre_obj = Genre.objects.get(name=request.POST.get('name'))
print("Inside post")
item_form = ItemForm(request.POST)
if item_form.is_valid():
print("valid form")
item_form_obj = ItemForm.save(commit=False)
item_form_obj.genre = genre_obj
item_form_obj.save()
return HttpResponseRedirect(reverse('file_upload') )
else:
print("invalid form")
return HttpResponseRedirect(reverse('file_list') )