我想定義Django默認的用戶類的代理模式,什麼樣的是這樣的:從基礎模型實例到Django派生代理模型?
class MyUser(User):
def pretty_username(self):
if self.first_name:
return self.first_name
return self.username
class Meta:
proxy = True
而且,我希望能夠從視圖代碼調用pretty_username(理想情況下,甚至來自模板)。有沒有一種簡單的方法來獲取標準用戶模型的實例並將其輸入到MyUser的實例中?
即使是一些__init__
魔術會跟我沒關係,只要我可以說:
my_user = MyUser(request.user)
在我看來代碼
。
這聽起來像你試圖做一個包裝或適配器爲用戶類。會是這樣的:http://ginstrom.com/scribbles/2009/03/27/the-adapter-pattern-in-python/ 做的伎倆? – mbrenig