我有两个这样的模型:
class Type1Profile(models.Model):
user = models.OneToOneField(User, unique=True)
...
class Type2Profile(models.Model):
user = models.OneToOneField(User, unique=True)
...
如果用户有 Type1 或 Type2 配置文件,我需要做一些事情:
if request.user.type1profile != None:
# do something
elif request.user.type2profile != None:
# do something else
else:
# do something else
但是,对于没有 type1 或 type2 配置文件的用户,执行这样的代码会产生以下错误:
Type1Profile matching query does not exist.
如何检查用户的个人资料类型?
谢谢
原文由 John Bright 发布,翻译遵循 CC BY-SA 4.0 许可协议
要检查 (OneToOne) 关系是否存在,您可以使用
hasattr
函数: