我正在尝试按照这篇博文使用 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 ...)来创建我想要的物化视图。
提前致谢。