django - 如何访问 OneToOneFiled Django ORM 模型的数据
问题描述
我正在使用用户内置模型。现在我在 UserListView 中查询以排除存储角色的所有超级管理员用户Roles Model
。我不知道如何查询queryset = User.objects.exclude(user_user_role_id=1)
这是问题请帮我查询
class UserListView(LoginRequiredMixin, generic.ListView):
model = User
template_name = 'users/users.html'
context_object_name = 'users'
queryset = User.objects.exclude(user_user_role_id=1)
UserProfile Model
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
user_company = models.ForeignKey(Company, on_delete=models.CASCADE)
user_role = models.ForeignKey(Roles, on_delete=models.CASCADE)
class Roles(models.Model):
role_title = models.CharField(max_length=30)
role_description = models.CharField(max_length=100)
解决方案
是的,我找到了。只需要使用双下划线
queryset = User.objects.exclude(userprofile__user_role_id=1)
或者
queryset = User.objects.exclude(userprofile__user_role__role_title='Super Admin')
推荐阅读
- c# - DPI 感知被 DLL 覆盖
- android - 如何将活动设置为在手机的后台 Android Studio 中运行
- javascript - 如何以角度制作异步功能?
- lucene - 如何使用 Java Lucene 对泰卢固语进行词干化?
- python - django 中的实时通知
- appium - Appium - 水平滚动视图
- android - 添加到 ViewGroup 后如何更改 Button 字体?
- python - 如何读取带有id的链接并在python中写入输出文件
- java - 如何通过Java或SQL按顺序获取数据库表中定义的Json?
- sql - 如何对 SQL Server 中的两个外键强制级联删除或级联设置 null