Как повторно использовать свойства из таблицы с помощью 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)