Как повторно использовать свойства из таблицы с помощью django for admin?
ок. У меня есть одна таблица. например:
class AnimalGroup(models.Model):
    name = models.CharField(max_length=50, unique=True)  
    description = models.TextField(max_length=1000, blank=True)
    images = models.ImageField(upload_to="photos/groups")
    
    class Meta:
        verbose_name = "animalgroup"
        verbose_name_plural = "animalgroups"
    def __str__(self):
        return self.group_name
А это группы животных. Например:
- млекопитающие
 - рыбы
 - рептилии
 
Но затем у меня есть подгруппа, в которой пользователь может ввести те же свойства, что и в AnimalGroup. А AnimalGroup может иметь несколько подгрупп. Например:
млекопитающие: кошки, собаки, котята.
А затем у вас есть само животное:
- кошки: сиамская кошка, рэгдолл и т.д.
 
Мой вопрос: как я могу повторно использовать эти свойства для трех объектов? Итак
- AnimalGroup
 - подгруппа
 - животное
 
Чтобы пользователь мог войти в панель администратора django:
- млекопитающие
 - рыбы
 - рептилии
 
и затем можно ввести кошки и выбрать из выпадающего списка млекопитающих.
Потому что все объекты:
- AnimalGroup
 - подгруппа
 - животное
 
имеют общие поля:
- имя
 - description
 - изображения
 
Если я сделаю это как. Это, конечно, не очень эффективно:
class AnimalGroup(models.Model):
    name = models.CharField(max_length=50, unique=True)  
    description = models.TextField(max_length=1000, blank=True)
    images = models.ImageField(upload_to="photos/groups")
class Subgroup(models.model)
    name = models.CharField(max_length=50, unique=True)  
    description = models.TextField(max_length=1000, blank=True)
    images = models.ImageField(upload_to="photos/groups")
    animalGroup= models.ForeignKey(AnimalGroup, on_delete=models.CASCADE) 
class Animal(models.model)
    name = models.CharField(max_length=50, unique=True)  
    description = models.TextField(max_length=1000, blank=True)
    images = models.ImageField(upload_to="photos/groups")
    subgroup= models.ForeignKey(Subgroup, on_delete=models.CASCADE)