2016-04-05 2 views
-2

I, полученному из django.contrib.auth.models.User расширить каждый пользователь приложения конкретных данных с помощью multi table inheritanceДжанго: от request.user к производному классу

class FooUser(User): 
    telephone_number = models.TextField(blank=True, default='') 

Что является самым простым способом получить foo_user экземпляр из request.user?

ответ

3

В самом пункте, что вы связаны, указывается:

Если у вас есть место, которое также ресторан, вы можете получить от Place до объекта ресторана, используя нижний -случае версия название модели:

>>> p = Place.objects.get(id=12) 
# If p is a Restaurant object, this will give the child class: 
>>> p.restaurant <Restaurant: ...> 

Так что в вашем случае, просто сделать: request.user.foouser

Конечно, как указано в документации, это будет работать только в том случае, если текущий пользователь был создан как FooUser и имеет связанные данные в соответствующей таблице. Если нет, то будет поднят FooUser.DoesNotExist.

Смежные вопросы