Создание модели в Django и встроенное редактирование связанных записей
Не получается вывести связанные записи в панели администратора Django. Помогите пожалуйста с models и выводом связанных записей в admin. (Преподаватель->Предметы->Вид занятия. К примеру: преподаватель1: русский язык (Лекция, Экзамен), Преподаватель2: математика(лекция, практическое занятие, экзамен), физика (лекция)
models:
class ClassA(models.Model):
name = models.CharField()
class ClassB(models.Model):
name = models.CharField()
classA= models.ManyToManyField('ClassA')
class ClassC(models.Model):
name = models.CharField()
classA= models.ManyToManyField('ClassA')
classB= models.ManyToManyField('ClassB')
пробовали ли вы использовать функцию def str(self) для каждой уже созданной модели? Примерно код будет выглядить вот так
class ClassA(models.Model):
name = models.CharField()
def __str__(self):
return self.name
class ClassB(models.Model):
name = models.CharField()
classA= models.ManyToManyField('ClassA')
def __str__(self):
return '{}, ({})'.format(self.name, self.ClassA.all())
и так далее
Вам помогут InlineModelAdmin
объекты - https://docs.djangoproject.com/en/4.0/ref/contrib/admin/#inlinemodeladmin-objects
Но в Django доступен только 1 уровень вложенности для админки. Для многоуровнего отображения придется использовать приложения вроде django_nested_admin
- https://django-nested-admin.readthedocs.io/en/latest/quickstart.html