Django ORM简单联接
我想像这样执行简单的连接操作 原始SQL:从风险中选择*加入r.sku\U id=s.sku\U id上的sku\U详细信息强> 型号详情:Django ORM简单联接,django,django-models,django-orm,Django,Django Models,Django Orm,我想像这样执行简单的连接操作 原始SQL:从风险中选择*加入r.sku\U id=s.sku\U id上的sku\U详细信息 型号详情: class SkuDetails(models.Model): sku_id = models.DecimalField(primary_key=True, max_digits=65535, decimal_places=65535) sku_desc = models.TextField(blank=True, null=True)
class SkuDetails(models.Model):
sku_id = models.DecimalField(primary_key=True, max_digits=65535, decimal_places=65535)
sku_desc = models.TextField(blank=True, null=True)
category = models.TextField(blank=True, null=True)
class Risks(models.Model):
risk_id = models.DecimalField(primary_key=True, max_digits=65535, decimal_places=65535)
risk_group_short_desc = models.TextField(blank=True, null=True)
risk_group_desc = models.TextField(blank=True, null=True)
var = models.DecimalField(max_digits=65535, decimal_places=65535, blank=True, null=True)
sku = models.ForeignKey(SkuDetails, models.DO_NOTHING, blank=True, null=True)
连接后,我希望通过Django ORM将两个表的所有列都设置为平面结构。。。
在原始SQL中,我将获得所有列。。。但不是从ORM那里得到的
请帮忙 使用以下工具很容易获取字典列表中的所有值:
您也可以签出。您可以使用
选择相关的进行尝试。相关帮助与外键关系作为两种模式 你其实并不想要这个。使用ORM的全部意义在于它为您提供对象,而不是值列表。。。我不必添加所有列。。。默认情况下,它会给我对象中的所有相关列。如果您需要我相信的相关字段,则不会values()
不带参数提供所有字段,但仅在查询的模型中提供。使用select\u related。。在我得到嵌套结果。。。我想要平淡的结果。有什么方法可以得到它吗?那么@nikungaggarwal你需要使用value\u list
刚才@Endre都说了什么。
Risks.objects.values(
'risk_id',
'risk_group_short_desc`,
# ... fields you need from Risks
'sku__sku_id',
# ... fields you need from SkuDetails
)