Я моделирую тест и связанные с ним вопросы следующим образом:
# models
class Question(models.Model):
title = models.TextField()
category = models.TextField()
class Quiz(models.Model):
questions = models.ManyToManyField(Question, through='OrderedQuestion')
class OrderedQuestion(models.Model):
# A through table to allow ordering of questions
question = models.ForeignKey(Question, ...)
quiz = models.ForeignKey(Quiz, ...)
order = models.PositiveIntegerField(default=0)
У меня есть два типа вопросов, которые обрабатываются прокси-моделями:
# proxy models to handle specific question categories
class BoatQuestion(Question):
objects = BoatQuestionManager() # handles setting category
class Meta:
proxy = True
и аналогичный дляCarQuestion
.
Я хочу иметь возможность редактировать BoatQuestions
и CarQuestions
независимо друг от друга, но на одной и той же странице администратора.Настройки администратора:
class BoatQuestionInline(admin.TabularInline):
model = BoatQuestion.quiz.through
class CarQuestionInline(admin.TabularInline):
model = CarQuestion.quiz.through
class QuizAdmin(admin.ModelAdmin):
model = Quiz
inlines = (BoatQuestionInline, CarQuestionInline)
, но всякий раз, когда я меняю вопросы в разделе вопросов по лодке, вопросы в разделе автомобилей обновляются, чтобы соответствовать ему, и наоборот.
Есть ли способпоказать их на той же странице администратора, но изменить их независимо?