Django Forms : Вложенные формы для пользовательского ввода

Я пытаюсь отобразить возможные результаты из моей базы данных с помощью форм. Мой models.py выглядит так :

CHOICE_DISPLAY = (
        ('select','select'),
        ('char','char'),
        ('radio','radio'),
        ('int','int'),
        ('float','float'),
        ('date','date'),
    )
class Custom_information(models.Model):
    name                 = models.CharField(default="",max_length=200)
    reference           = models.CharField(default="",max_length=200)
    type_display    = models.CharField(
        choices = CHOICE_DISPLAY , blank=True, null=True,max_length=200
    )

    class Meta:
        ordering = ['name']

    def __str__(self):
        return  self.name
 class Radio_custom_choice(models.Model):
    name          = models.CharField(default="",max_length=200)
    custom_choice = models.ForeignKey(Custom_choice,on_delete=models.CASCADE)

    class Meta:
        ordering = ['custom_choice__name']

    def __str__(self):
        return self.name


class Custom_choice_company(models.Model):
    result      = models.CharField(default="", max_length=200)
    custom_choice = models.ForeignKey(custom_choice, blank=True, null=True, on_delete=models.CASCADE)
    compagny = models.ForeignKey(Company,on_delete=models.CASCADE)

    class Meta:
       ordering = ['custom_choice__name']

    def __str__(self):
        return  str(self.id)

Таблица 'Custom_choice' как тип отображения. Я хочу создать форму 'Custom_choice_company', которая позволит мне отображать каждый элемент и получать их результат. Я хочу, чтобы мой html выглядел следующим образом в зависимости от того, какой тип отображения у моего объекта custom_choice:

<label>"My custom choice name"</label>
{% if "my cutom choice type" == "char" %}
<input type="my cutom choice type" >
{% else if "my cutom choice type" == "radio" %}
   {% for element in "my radio_custom_choice linked to cutom_choice" %}
      <input type="radio">
   {% endfor %}
{% endif %}

Как я могу это сделать? Заранее спасибо

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