我正在尝试使用django通过关注this博客帖子在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 VIEW dresses_dressmv ...)来创建我想要的物化视图。
提前致谢。
答案 0 :(得分:0)
为什么不使用django OR为Django-Postgres提供的Arrayfield
你可以选择Jsonfield
但是为此需要使用django 1.9和postgres 9.4强制
供参考,您可以查看This