正如我所理解的那样,扩展User
Django模型的标准方法是实施profiles
。
这非常适合我,因为我有3种类型的配置文件(3个不同的Model
子类)都基于User
模型的唯一性和身份验证。
使用mixins:使用ModelForm
继承model=User
,使用model=Profile
继承save()
,手动覆盖clean()
和Form
以调用基础的方法并执行外键分配。
使用组合:继承ModelForms
并手动实例化和管理两个save()
。
单独实例化表单,并以手动方式{{1}}表示它们。
我没想到的最佳方式。
我很感激(尽管很少)实施,所以我可以肯定我正在拨打正确的电话。
提前致谢。
答案 0 :(得分:1)
您可以编写单个表单,作为Profile模型和contrib用户模型的组合ModelForm。要做到这一点,需要对init上的表单kwargs进行一些操作。请参阅以下代码段:http://djangosnippets.org/snippets/2081/