【发布时间】:2020-07-11 17:16:49
【问题描述】:
我尝试在 Django views.py 中过滤具体化的 postgres 视图。数据库和视图是用 postgres 创建的。我可以过滤代表一对多关系的视图,并且可以使用 get (queryset) 访问代表多对多关系的视图。但我无法过滤那些代表多对多关系的视图。模型是用 inspectdb 创建的。这是一个 postgis 遗留数据库。
如何过滤这些视图?
models.py
fid = models.AutoField(primary_key=True)
id_dokument = models.IntegerField(blank=True, null=True)
dokument = models.CharField(max_length=50, blank=True, null=True)
datei = models.CharField(max_length=100, blank=True, null=True)
beschreibung = models.CharField(max_length=1024, blank=True, null=True)
datum = models.DateField(blank=True, null=True)
person = models.CharField(max_length=50, blank=True, null=True)
dokumenttyp = models.CharField(max_length=30, blank=True, null=True)
id_objekt = models.IntegerField(blank=True, null=True)
objekt = models.CharField(max_length=50, blank=True, null=True)
class Meta:
managed = False # Created from a view. Don't remove.
db_table = 'objekt_dokumente_rel'
views.py
dokumente = ObjektDokumenteRel.objects.using('db').filter(id_objekt=fid)
如果用 get 替换过滤器,我会收到一个对象(如预期的那样)。
【问题讨论】:
标签: django postgresql django-views geodjango materialized-views