如果我得到这样的User
个对象列表
special_user_list = User.objects.filter( userprofile__user_type = 'special' )
如何追加request.user
(当前登录的用户),这也是User
?
我知道我可能会做类似
的事情special_user_list = User.objects.filter(
Q( userprofile__user_type = 'special' ) |
Q( pk = request.user.pk )
)
但我不确定上述代码是否可以加倍request.user
(如果request.user.get_profile().user_type = 'special'
也是如此)。另外,我想避免使用复杂的SQL语句来访问数据库以添加用户,我已经知道了用户身份。
答案 0 :(得分:2)
数据库执行此操作比使用Python更便宜。
special_user_list = User.objects.filter(
Q(userprofile__user_type='special') |
Q(pk=request.user.pk)
).distinct()