2012-03-22 70 views
1

對於來自PHP的Django來說,我是一個完全陌生的人,因此他對這個術語感到苦惱。這使得搜索答案相當困難。希望有人能告訴我,如果這可以在優秀的Django管理員內完成。Django Admin嵌入對象

好吧,所以我的想法是,我有一個問卷,將由設計界的成員填寫。問卷班有很少的領域,標題,介紹,日期。

這些問題有他們自己的類,在這種情況下有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 

對不起以上 的格式,我需要在問卷管理是什麼的foreach問題,回答現場可用在線。如果可能,將問題名稱作爲表單域名稱。

這是可能的在Django管理員?

將不勝感激的任何援助

+0

答案http://stackoverflow.com/questions/702637/django-admin-inline-inlines-or-three模型編輯一次可能對您有用。 – Tom 2012-03-22 21:29:10

回答

2

參見: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] 
+0

謝謝你嘗試克里斯,但這並不真的爲我工作。我有20個問題。我需要在問卷中出現每個問題的答案字段,理想情況下問題標題作爲每個答案的表單字段出現。你的建議增加了一個單一的答案領域,然後我有一個下拉選擇問題。 – user1016190 2012-03-23 10:05:41

+1

管理員目前不支持內聯內聯。您可以在問題變更表單上進行內嵌答案,並在問卷變更表上列出問題。但不能同時進行。 – 2012-03-23 14:27:00