django一个表格多个表格

时间:2011-04-17 01:57:10

标签: python django forms django-models django-forms

表单会收集名字,电子邮件,密码和成绩。

我可以使用类似的东西将这些信息保存在两个表中吗?

 def save(self):
    new_user = User.objects.create_user(first=self.cleaned_data['first'], email=self.cleaned_data['email'], password=self.cleaned_data['password'])
    new_grade = Grade.objects.create_grade(grade=self.cleaned_data['grade'])
    return new_user, new_grade

这可能吗?什么是更好的方法呢?

2 个答案:

答案 0 :(得分:4)

做这样的事是绝对可能和正常的。表单不必像ModelForms那样类似于模型。表单只是描述特定用例所需输入的一种方式。您对该数据的处理完全取决于您。这包括将其保存在许多不同的模型中。

请注意,并不要求返回以常规形式创建的新实例。这只是惯例。如果您需要在保存后访问新实例,那么一定要返回它们。

答案 1 :(得分:0)

编码更好:

if new_user:
    ## create other tables..