2012-08-31 29 views
0

正如我所了解的那样,扩展User Django模型的标准方法是实现profilesDjango:用户配置文件创建表格

这很适合我,因为我有3种类型的配置文件(3个不同的Model子类),全部基于User模型进行唯一性和身份验证。

但是,我很难决定实现用户创建表单的最佳方式。我应该......

  1. 使用混入:继承一个ModelFormmodel=User和一个与model=Profile,手动覆盖save()clean()调用基地的方法和执行外键的分配。

  2. 使用组合:继承Form并手动实例化并管理两个ModelForms

  3. 分别实例化这些表单,并以save()手动排序。

  4. 我没有想到的最佳方式。

我将不胜感激(尽管最小)的实现,所以我可以确定我做出了正确的调用。

在此先感谢。

+0

你正试图自定义用户模型? – user1614526

+0

,我已经有了。我正尝试使用相同的表单创建一个配置文件和一个用户。 – slezica

回答

1

您可以编写一个表单,充当Profile模型和contrib User模型的组合ModelForm。为了实现这一点,需要在init上对表单kwargs进行一些操作。看到这个片段:http://djangosnippets.org/snippets/2081/

+0

这就是我最终做的,虽然答案让我迟到:(后来我会发布我的实现供参考,非常感谢! – slezica

相关问题