【发布时间】:2021-12-10 19:44:27
【问题描述】:
假设我的models.py 有以下内容:
from django.db import models
class Department(models.model):
name = models.CharField(max_length=255)
class User(models.model):
name = models.CharField(max_length=255)
department = models.ForeignKey(
Department, related_name="department_users", on_delete=models.CASCADE
)
...
因此,我对我的用户查询集进行了很多复杂的过滤,以获取被认为是“活跃”的用户子集,但现在我需要生成至少有一个“活跃”用户的部门列表。
我知道我可以使用反向查找,例如:Department.objects.filter(department_users__name__contains=...) 等并重新进行过滤,但我想知道是否有办法直接从“活动”用户查询集中获取该信息。
我尝试使用.values(),但这给了我一个字典查询集,我真的想要一个 django 模型查询集,这样我就可以对部门查询集进行进一步过滤。
你们知道有没有办法做到这一点?
【问题讨论】:
标签: django django-models django-rest-framework django-filter