Я пытаюсь отфильтровать материализованные postgres просмотры в Django views.py. База данных и представления были созданы с помощью 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, я получу один объект (как и ожидалось).