Casting from base Model instance to derived proxy Model in Django?

Я хотел бы определить прокси-модель для класса User по умолчанию 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 из кода представления (а в идеале даже из шаблонов). Есть ли простой способ взять экземпляр стандартной модели User и преобразовать его в экземпляр MyUser?

Даже какая-то __init__ магия меня бы устроила, если бы я мог сказать:

my_user = MyUser(request.user) 

в коде представления.

9
задан slacy 27 October 2011 в 17:02
поделиться