Django - Как создать форму для внешних ключей модели?

Вот что я пытаюсь сделать. Мне интересно, может ли кто-нибудь предложить хороший подход:

модели.py:

class Color(models.Model):
name = models.CharField(...

class Speed(models.Model):
    name = models.CharField(...

class Dog(models.Model):
    name = models.CharField(...
    speed = models.ForeignKey(Speed...

class DogRequest(models.Model):
    id_name = models.PositiveSmallIntegerField()
    color = models.ForeignKey(Color...
    dog = models.ForeignKey(Dog...
    request_time = models.DateTimeField()

Теперь я хочу иметь страницу, на которой пользователь может вводить DogRequest а так же данные для вложенных в нем моделей.

Я нашел решение еще 2011 года, но оно явно устарело и не работает для django 4.0 Вот оно:

class DogRequestForm(forms.Form):
    id = forms.IntegerField(required=False, widget=forms.HiddenInput())
    color = forms.ModelChoiceField(queryset=Color.objects.all())
    speed = forms.ModelChoiceField(queryset=Speed.objects.all())

Как правильно написать форму для такой задачи?

Вернуться на верх