2
我試圖通過user = request.user
獲取正確的模型名稱時遇到一些問題,它顯示每個用戶像用戶,即使它是學生。 好了,更多的細節在這裏:Django定製用戶模型與Django多態
from django.contrib.auth.models import AbstractBaseUser, BaseUserManager
class UserManager(BaseUserManager):
pass
class User(AbstractBaseUser):
objects = UserManager()
pass
class Student(User):
pass
當視圖代碼中,我試圖讓用戶= request.user,我需要得到用戶的型號,以顯示他們不同的看法。我用django-polymorphic試了一下,它適用於其他對象,但是當我嘗試從它那裏繼承時,一切都會停止,我不知道該怎麼做。 我想是這樣的:
class User(AbstractBaseUser, PolymorphicModel):
pass
和經理:
class UserManager(BaseUserManager, PolymorphicManager):
pass
,但它不工作,可能有人請告訴我如何在一起配置,或者說更好的方式來獲得正確的型號名稱request.user
您需要使用語句來區分它們。用戶的獨特性如何? I.E.他們有不同的用戶羣體嗎?如果是這樣,你可以這樣做:'isStudent = request.user.groups.get(name ='Student')'。然後在'if'語句的視圖中使用它。 – Dandy
我發現這裏沒有django-polymorphic的一些決定,但我想知道更多關於使用django多態。 [這是它](http://djbook.ru/forum/topic/3145/) –
我以前從來沒有玩過多態,我目前沒有設備在今天晚些時候測試。你還有問題嗎? – Dandy