Я пытаюсь следовать примеру в этом вопросе , но что-то у меня не работает.
Я пытаюсь сделать приложение, которое управляет образовательными стандартами. В упрощенном варианте проблемы есть три вида информации. Есть предметы, такие как математика. Существуют широкие стандарты, такие как «Студенты смогут добавлять номера». Существуют стандарты, такие как «Студенты смогут добавлять однозначные номера». Я считаю, что модель настроена правильно:
# Subjects, such as math, science, english...
class Subject(models.Model):
subject = models.CharField(max_length=255, unique=True)
# Broad standards, such as "Students will understand the structure of matter."
class BroadStandard(models.Model):
broad_standard = models.CharField(max_length=255, unique=True)
subject = models.ForeignKey(Subject)
# Standards, such as "Students will understand the structure of the periodic table."
class Standard(models.Model):
standard = models.CharField(max_length=255, unique=True)
broad_standard = models.ForeignKey(BroadStandard)
У меня проблемы с настройкой администратора. Я знаю, что не могу вкладывать строки. Я хочу, чтобы пользователь мог ввести тему, а затем ввести широкий стандарт. Я ожидаю, что для ввода стандарта пользователь должен будет щелкнуть по общему стандарту и перейти на отдельную страницу для ввода стандарта. Это нормально, но на странице администратора нет ссылки для входа в стандарт. Мой код admin.py:
class BroadStandardInline(admin.TabularInline):
model = BroadStandard
extra = 0
class StandardInline(admin.TabularInline):
model = Standard
extra = 0
class BroadStandardAdmin(admin.ModelAdmin):
inlines = [StandardInline]
class StandardAdmin(admin.ModelAdmin):
fields = ['standard']
class SubjectAdmin(admin.ModelAdmin):
fields = ['subject']
inlines = [BroadStandardInline]
admin.site.register(Subject, SubjectAdmin)
Как сделать так, чтобы стандартное поле отображалось в основной форме или щелкнув по общему стандарту?