小编Joh*_*ght的帖子

检查Django中的OneToOneField是否为None

我有两个这样的模型:

class Type1Profile(models.Model):
    user = models.OneToOneField(User, unique=True)
    ...


class Type2Profile(models.Model):
    user = models.OneToOneField(User, unique=True)
    ...
Run Code Online (Sandbox Code Playgroud)

如果用户具有Type1或Type2配置文件,我需要做一些事情:

if request.user.type1profile != None:
    # do something
elif request.user.type2profile != None:
    # do something else
else:
    # do something else
Run Code Online (Sandbox Code Playgroud)

但是,对于没有type1或type2配置文件的用户,执行这样的代码会产生以下错误:

Type1Profile matching query does not exist.
Run Code Online (Sandbox Code Playgroud)

如何查看用户的个人资料类型?

谢谢

python django-models one-to-one

79
推荐指数
4
解决办法
3万
查看次数

标签 统计

django-models ×1

one-to-one ×1

python ×1