0

我正在尝试按照这篇博文使用 django 在 postgresql 中创建物化视图。

我的模型是:

class Occasion(models.Model): 
    name = models.CharField(max_length=100)

class ItemType(models.Model):
    name = models.CharField(max_length=100)

class Dress(models.Model):
    name = models.CharField(max_length=100)
    item_type = models.ForeignKey(ItemType)
    occasions = models.ManyToManyField(Occasion)
    # ... more fields

现在,我创建一个对应于物化视图的模型(创建这个视图的目的是最小化连接查询):

class DressMaterializedView(models.Model):
    name = models.CharField(max_length=100)
    item_type_name = models.CharField(max_length=100)  # note this
    occasion_names = models.ArrayField(  # and this
        models.CharField(max_length=100)  # and compare it with Dress model above
    )
    
    class Meta:
        managed = False
        db_table = "dresses_dressmv"

现在,我要编写什么 SQL 查询(即 CREATE MATERIALIZED VIEWdresses_dressmv ...)来创建我想要的物化视图。

提前致谢。

4

1 回答 1

0

为什么不使用Arrayfielddjango 提供的或者对于 Django-Postgres 你可以Jsonfield选择但是你需要强制使用 django 1.9 和 postgres 9.4

作为参考,你可以看看这个

于 2016-04-27T13:20:17.217 回答