2012-08-31 55 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

相關問題