Я пытаюсь создать ModelForm, который будет обновлять таблицу с помощью внешних ключей. То, что я, кажется, работает, но я надеялся, что кто-то скажет мне, есть ли лучший способ сделать это или если есть проблема с тем, как я делаю это ниже.Django ModelForm с внешним ключом
Правильно ли использовать набор запросов в таблице Author and Genres? Мне кажется, что я должен использовать набор запросов в модели книги и связывать внешний ключ с этими таблицами.
models.py
class Author(models.Model):
name = models.CharField(max_length=200)
class Genre(models.Model):
name = models.CharField(max_length=200)
class Book(models.Model):
title = models.CharField(max_length=200)
author = models.ForeignKey('Author')
genre = models.ForeignKey('Genre')
forms.py
class BookForm(ModelForm):
title = forms.CharField(max_length=200)
author = forms.ModelChoiceField(queryset=Author.objects.all())
genre = forms.ModelChoiceField(queryset=Genre.objects.all())
class Meta:
model = Book
fields = ['title', 'author', 'genre']
views.py
def add_book(request):
if request.method == 'POST':
form = BookForm(request.POST)
if form.is_valid():
form.save(commit=True)
return HttpResponseRedirect('/add/')
else:
form = BookForm()
Спасибо! (Текст наполнителя) – user3184033