使用postgresql db的Django,使用ONLY关键字查询只查看父表?

时间:2018-06-13 14:57:49

标签: python django postgresql inheritance

我有一个我的django模型指向的表,db side我设置了一系列触发器来为子表(通过表继承)路由信息以用于旋转系统。查询父表我仍然可以拥有我的全套信息,即使在许多表中脱臼,但为了提高我的性能,我想只在父表中搜索,对应于查询,其中我指定“仅”以使数据库不在搜索中子表。有没有办法用django模型做到这一点?

1 个答案:

答案 0 :(得分:1)

Posible duplicated question

您可以在postgres中创建一个视图:

CREATE OR REPLACE VIEW my_view AS 
SELECT * FROM ONLY MY_TABLE;

在django中创建一个指向该视图的模型:

class MyModel(models.Model):
    id = models.IntegerField(primary_key=True)
    name = models.CharField(max_length=100)

  class Meta:
        managed = False
        db_table = 'my_view'

然后查询该模型。 或者您可以直接使用.raw()