Найти - Пользователи
Полная версия: Dynamic forms
Начало » Django » Dynamic forms
1
Moroznui
Ну как обычно. Вопрос из разряда - а как сделать, что-бы было правильно, по-питоновски и понятно?
Модель:
class Field(models.Model):
name = models.CharField(u'Название поля',max_length=100,)
type = models.CharField(u'Тип поля',max_length=20, choices=TYPE_OF_FIELD_CHOICES)

class Dept(models.Model):
...
fields=models.ManyToManyField(Field)

class Answer(models.Model):
user = models.ForeignKey(UserAnswer)
field = models.ForeignKey(Field)
data = models.TextField()
В двух словах: анкетирование. Пользователь выбирает Отдел(Dept) и ему выдается сформированный список вопросов Dept.fields. Хочу это сделать через стандартные формы. Каким способом это лучше всего? Надеюсь понятно объяснил.
ziro
Посмотрите http://docs.djangoproject.com/en/dev/topics/forms/formsets/
freemon
Такое решение подходит?
from django import forms
from models import Dept, Field

class DeptForm(forms.ModelForm):

class Meta:
model = Dept

def __init__(self, *args, **kwargs):
super(DeptForm, self).__init__(*args, **kwargs)
self.fields['fields'] = forms.ModelChoiceField(
queryset=self.instance.fields.all(), #if you add instance=Dept, when you create this form
)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB