我有2種型號:Django:是否可以在一個通用視圖中驗證並保存多個表單的字段?
class Person(models.Model):
username = models.CharField
name = models.CharField(max_length = 30)
surname = models.CharFields(max_length = 30)
...
class PersonSkills(models.Model):
person = models.ForeignKey(Person)
skill = models.CharField(max_length = 30)
...
我想在一個視圖中的數據添加到個人和PersonSkills。
現在我有RegisterView喜歡下:
class RegisterForm(ModelForm):
class Meta:
model = Person
fields = ('username', 'name', 'surname', 'password',)
class RegisterView(FormView):
form_class = RegisterForm
success_url = "/welcome/"
template_name = "register.tmpl"
is_valid = True
def form_valid(self, form):
form.save()
self.is_valid = True
return super(RegisterView, self).form_valid(form)
def form_invalid(self, form):
self.is_valid = False
return super(RegisterView, self).form_invalid(form)
...
所以,我怎麼能數據添加到個人和PersonSkills在一個視圖?從FormView繼承只允許一個form_class。
還有一件事要注意。你爲什麼有一個人模型?這與contrib.auth.models.User模型中的內建幾乎完全相同。您應該在適當的地方使用用戶模型。 – 2011-05-21 07:31:45