如何在Django 1.9中使用带有动态字段的模型运行原始查询?

如何在Django 1.9中使用带有动态字段的模型运行原始查询?,django,postgresql,django-models,Django,Postgresql,Django Models,我有一个复杂的结果,需要编写原始sql查询 看 预期结果是一个显示多个列的表 第一列标题只是Product,其他列标题是存储名称 这些值只是产品名称和这些商店中产品的合计销售值 哪些商店将展出完全是动态的。最多应为9家商店 文本格式相同: 储物台 ------------------------------ | id | code | address | |-----|------|---------------| | 1 | S1 | Kings Row | |

我有一个复杂的结果,需要编写原始sql查询

预期结果是一个显示多个列的表

第一列标题只是
Product
,其他列标题是存储名称

这些值只是产品名称和这些商店中产品的合计销售值

哪些商店将展出完全是动态的。最多应为9家商店

文本格式相同:

储物台

------------------------------
| id  | code | address       |
|-----|------|---------------|
| 1   | S1   | Kings Row     |
| 2   | S2   | Queens Street |
| 3   | S3   | Jacks Place   |
| 4   | S4   | Diamonds Alley|
| 5   | S5   | Hearts Road   |
------------------------------
产品表

------------------------------
| id  | code | name          |
|-----|------|---------------|
| 1   | P1   | Saucer 12     |
| 2   | P2   | Plate 15      |
| 3   | P3   | Saucer 13     |
| 4   | P4   | Saucer 14     |
| 5   | P5   | Plate 16      |
|  and many more ....        |
|1000 |P1000 | Bowl 25       |
|----------------------------|
销售表

----------------------------------------
| id  | product_id | store_id | amount |
|-----|------------|----------|--------|
| 1   | 1          | 1        |7.05    |
| 2   | 1          | 2        |9.00    |
| 3   | 2          | 3        |1.00    |
| 4   | 2          | 3        |1.00    |
| 5   | 2          | 5        |1.00    |
|  and many more ....                  |
| 1000| 20         | 4        |1.00    |
|--------------------------------------|
这些关系是:

  • 销售属于商店
  • 销售属于产品
  • 这家商店有很多销售额
  • 这种产品有很多销路
  • 我想要达到的目标 我希望按以下方式分页显示:

    给定存储S1-S3:

    -------------------------
    | product | S1 | S2 | S3 |
    |---------|----|----|----|
    |Saucer 12|7.05|9   | 0  |
    |Plate 15 |0   |0   | 2  |
    |  and many more ....    |
    |------------------------|
    
    有关架构的更多详细信息,请查看中的问题

    我的问题 模式对我的问题不是特别重要,我的问题是:

    因为我要编写一个复杂的原始查询,有没有办法将查询结果映射到字段是动态的模型

    我找到了关于如何在Django中执行原始查询以及如何使用固定字段和匹配表对现有模型执行原始查询的文档

    我的问题是,对于没有匹配表和动态字段的模型,是否可以这样做

    如果是,怎么做

    或者,如果我选择在postgresql中使用实体化视图,我如何将其与模型类相匹配