Сомнительно, что для этого есть законная причина.Например, для Учителя наиболее логично иметь внешний ключ от Школы.Однако недавно я решил эту проблему и впоследствии понял, что это не очень хорошая идея.Поскольку иногда нужно просто увидеть это, чтобы подумать о лучших решениях, я предоставляю решение:
Проблема, которую вы получаете при размещении несвязанных моделей в качестве встроенных, заключается в том, что parent_model совершенно неверен.В этом случае parent_model - это School, которая неверна и вызывает исключение.Предполагая, что у Учителя есть реальный родитель, решение состоит в том, чтобы исправить поле parent_model в вашем подклассе InlineModelAdmin.Вы можете сделать это, переопределив функцию init:
class TeacherInline(admin.TabularInline):
def __init__(self, parent_model, admin_site):
# override to permit change parent_model from School to Teacher-Parent
# Assume Teacher's parent is Employer
super(TeacherInline, self).__init__(Employer, admin_site)