gpt4 book ai didi

python - 检查 Django 中的 OneToOneField 是否为 None

转载 作者:IT老高 更新时间:2023-10-28 21:32:43 27 4
gpt4 key购买 nike

我有两个这样的模型:

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.

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

谢谢

最佳答案

要检查(OneToOne)关系是否存在,可以使用 hasattr 函数:

if hasattr(request.user, 'type1profile'):
# do something
elif hasattr(request.user, 'type2profile'):
# do something else
else:
# do something else

关于python - 检查 Django 中的 OneToOneField 是否为 None,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3463240/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com