使用hasattr()检查用户类型

时间:2016-07-13 12:55:38

标签: python django

我的一些用户是学生。当用户创建学生档案时,实例化StudentProfile类:

class StudentProfile(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL, primary_key=True)
    …

如何检查用户是否是学生?

hasattr(request.user, 'StudentProfile')
即使登录用户具有关联的StudentProfile,

也会返回False。

1 个答案:

答案 0 :(得分:4)

你几乎就在那里 - 你只需要使用小写studentprofile而不是StudentProfile

hasattr(request.user, 'studentprofile')

来自the docs

  

如果没有为related_name指定OneToOneField参数,Django将使用当前模型的小写名称作为默认值。