2013-09-08 3 views
0

Я пытаюсь создать поле формы для каждого вопроса в заданной группе вопросов. Я очень новичок в python/django, поэтому это может быть плохой подход, приветствуются приветствия на высоком уровне. Вот что у меня есть:Динамические поля формы Django на основе ForeignKey

models.py:

class QuestionGroup(models.Model): 
    name = models.CharField(max_length = 50) 
    creator = models.ForeignKey(User) 
    modified = models.DateTimeField() 

class Question(models.Model): 
    question_content = models.CharField(max_length = 100) 
    question_group = models.ForeignKey(QuestionGroup) 

views.py:

def give_feedback(request, group_id): 
    question_list = Question.objects.filter(question_group = group_id) 
    form = ResponseForm(question_list) 

forms.py:

class ResponseForm(forms.Form): 
    def __init__(self, *args, **kwargs): 
     for q in args: 
      q.question_content = forms.CharField(max_length = 100) 

Я получаю «объект 'ResponseForm' не имеет атрибута '_errors'. Мысли?

ответ

2

Не уверен, что это проблема, но вы, вероятно, следует вызвать метод инициализации родительской формы в вашей перегруженной __init__:

def __init__(self, *args, **kwargs): 
    super(ResponseForm, self).__init__(*args, **kwargs) 

    for q in args: 
     q.question_content = forms.CharField(max_length = 100) 
+0

Это часть моего вопроса, спасибо! Другая проблема заключалась в том, что мне нужно было использовать self.fields [q.question_content] = forms.CharField (max_length = 100) – kamchatka

Смежные вопросы