[英]Convert join SQL query into django
我是 django 的新手,正在尝试使用它。
如何显示连接表中的选定字段。 例如:
我有两个模型,X 和 Y。我正在根据外键 model Y 合并这两个模型。
class X(models.Model):
name = models.CharField()
id = models.AutoField(primary_key=True)
class Y(models.Model):
owner_user = models.ForeignKey(X, models.DO_NOTHING,
db_column='id')
detail = models.CharField()
如何将此查询编写为 django 代码?
SELECT 名称、ID、Body_details 来自 X、Y WHERE X.id = Y.OwnerUserId;
您可以使用select_related
a = Y.objects.select_related('OwnerUserId').all()
for object in a:
print(object.OwneruserId.name, object.OwneruserId.id, object.body)
您可以在此处使用select_related
。
结果 = Y.objects.select_related('owner_use')
加入后的所有工作将由这个 ORM 使用select_related
自动完成。 您可以在此处查看与此类似的以前提出的问题。
需要使用ForeignKey
字段的y_set
related_name
访问model的反向关系:
some_id = 1
instance = X.objects.get(id=some_id)
instance.y_set.all()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.