Django Admin Встроенные объекты - PullRequest
1 голос
/ 22 марта 2012

Я совершенно новичок в Django, пришедшем из PHP и поэтому немного борюсь с терминологией. Это затрудняет поиск ответа. Надеюсь, кто-нибудь подскажет, можно ли это сделать с помощью превосходного администратора Django.

Хорошо, идея в том, что у меня есть вопросник, который будет заполнен представителями мира дизайна. В классе вопросника очень мало полей: заголовок, введение, дата.

Вопросы имеют свой собственный класс, в этом случае их число ограничено 20, и они одинаковы для каждого вопросника.

Поэтому у меня есть класс ответов, ответ принадлежит как вопроснику, так и вопросу.

class Questionaire(models.Model):
    title = models.CharField(max_length=255)
    intro = models.TextField(max_length=4000)
    date_entered = models.DateField()
    date_modified = models.DateField()
    def __unicode__(self):
        return self.title

class Question(models.Model):
    title = models.CharField(max_length=255)
    number = models.IntegerField()
    def __unicode__(self):
        return self.title

class Answer(models.Model):
    response = models.TextField(max_length=4000) 
    questionaire = models.ForeignKey('articles.Questionaire')
    question = models.ForeignKey('articles.Question')
    def __unicode__(self):
        return self.response

Извините за форматирование выше Что мне нужно в Администраторе Анкеты для каждого вопроса, поле для ответов доступно в строке. Если возможно, с именем вопроса в качестве имени поля формы.

Возможно ли это в админке Django?

Буду очень признателен за любую помощь

1 Ответ

2 голосов
/ 22 марта 2012

См .: https://docs.djangoproject.com/en/dev/ref/contrib/admin/#inlinemodeladmin-objects

class AnswerInlineAdmin(admin.StackedInline):
    model = Answer
    extra = 1

class QuestionAdmin(admin.ModelAdmin):
    ...
    inlines = [AnswerInlineAdmin]
...