У меня проблема со многими моделями в django. У меня структура такая:
Таблица Проект
class Project(models.Model):
name = models.CharField(max_length=100, blank=True, null=True)
description = models.TextField(blank=True, null=True)
ordernr = models.IntegerField(db_column='orderNr', blank=True, null=True) # Field name made lowercase.
map = models.ManyToManyField(Image, through='ProjectMapImage')
class Meta:
managed = False
db_table = 'Project'
И таблица Изображение
class Image(models.Model):
url = models.CharField(max_length=100, blank=True, null=True)
typeid = models.ForeignKey('ImageType', models.DO_NOTHING, db_column='typeId', blank=True, null=True) # Field name made lowercase.
ordernr = models.IntegerField(db_column='orderNr', blank=True, null=True) # Field name made lowercase.
class Meta:
managed = False
db_table = 'Image'
ordering = ['ordernr']
Таблица сопоставления ProjectMapImage
class ProjectMapImage(models.Model):
projectid = models.ForeignKey(Project, models.DO_NOTHING, db_column='projectId', blank=True,
null=True) # Field name made lowercase.
imageid = models.ForeignKey(Image, models.DO_NOTHING, db_column='imageId', blank=True,
null=True) # Field name made lowercase.
class Meta:
managed = False
db_table = 'Project_Map_Image'
Наконец, это мое представление
class ProjectListView(ListView):
model = Project
context_object_name = "projects"
Это представление возвращает весь проект, и у меня есть доступ ко всем связанным изображениям в HTML {% for image in project.map.all %}
Но я хочу загружать только изображения с typeid
, например 1 . Как это отфильтровать?