Вложенные формы Django для внешних ключей

У меня есть следующие модели Django:

class Color(models.Model):
    label = models.CharField(max_length=255, unique=True)

class ColorAnnotation(models.Model):
    color = models.ForeignKey(Color)
    confidence = models.FloatField()

    def __str__(self):
        return f"{self.color.label} {round(self.confidence, 2) if self.confidence else None}"

class Annotation(models.Model):
    color = models.ForeignKey(ColorAnnotation)

Поскольку у меня много записей, Django Admin стал очень медленным при загрузке одной записи модели Annotation, потому что он пытался загрузить все возможные значения __str__ для ColorAnnotation. Я оптимизировал, используя prefetch_related и select_related, но это не помогло. Я решил эту проблему, создав пользовательские froms.ModelForm:

class AnnotationForm(forms.ModelForm):

    color = forms.ChoiceField(required=False, choices=Color.objects.values_list('id', 'label'))

    class Meta:
        model = Annotation
        fields = '__all__'


class AnnotationAdmin(admin.ModelAdmin):

    list_display = ("id", "color")
    list_filter = (
        ("color__color__label", custom_titled_filter('Color'))
    )
    form = AnnotationForm

    def get_queryset(self, request):
        queryset = super().get_queryset(request)
        return queryset.prefetch_related(
            'color__color',
        ).select_related(
            'color',
        ).all()

Это работает хорошо, но не показывает атрибут confidence экземпляра ColorAnnotation данного Annotation:

enter image description here.

Я хотел бы изменить это так, чтобы у меня было выпадающее меню для Color, но с возможностью изменения confidence тоже.

Мне интересно, есть ли способ создать пользовательскую форму forms.ModelForm для модели ColorAnnotation и использовать ее как вложенную форму в AnnotationForm.

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