【发布时间】:2019-04-21 04:35:33
【问题描述】:
型号如下:
class Workspace(models.Model):
wid = models.AutoField(primary_key=True, validators=[MinValueValidator(1000)])
wname = models.CharField(max_length=100)
created_time = models.DateTimeField(auto_now_add=True)
class Invitation(models.Model):
iid = models.AutoField(primary_key=True, validators=[MinValueValidator(1000)])
invite_to = models.ForeignKey(User, related_name="invitation_uid2", on_delete=models.CASCADE)
workspace = models.ForeignKey(Workspace, related_name="invitation_wid", on_delete=models.CASCADE)
created_time = models.DateTimeField(auto_now_add=True)
我需要根据invite_to获取工作区列表
"select * from Workspace where wid in (select workspace from Invitation whereinvite_to = 1)"
上面的查询是ORM类型
【问题讨论】:
-
如果可以通过Django的QuerySet做这个查询,为什么还要做一个SQLite联合查询集呢?
-
Django 也不错@AuroraWang
-
你不能做类似的事情:“Workspace.objects.filter(invitation_wid__invite_to__id=1)”吗?
标签: python django django-models orm django-queryset