pyr*_*ade 6 python django django-queryset
如何根据与之相关的模型过滤模型?下面的例子......这是有效的,但我认为这次击中了DB两次并且非常不优雅.有没有办法直接使用查询集?也许某种程度上select_related(),但一直没能想到那一个.我想返回QuerySet的Project.
from django.db import models
class Person(models.Model):
pass
class Project(models.Model):
pass
class Action(models.Model):
person = models.ForeignKey(Person)
project = models.ForeignKey(Project)
# Better way to do this?
def projects_by_person(person):
actions = Action.objects.filter(person=person)
project_ids = actions.values_list('project')
return Project.objects.filter(id__in=project_ids)
Run Code Online (Sandbox Code Playgroud)
Rau*_*wal 11
试试这个.我没有测试过,如果您有任何问题请告诉我
#Untested Code
Project.objects.filter(action__person = person)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5309 次 |
| 最近记录: |