Приветствую
Есть следующие модели
class EsPosition(MPTTModel):
estimate = models.ForeignKey(Estimate, related_name='es_positions')
parent = TreeForeignKey('self', null=True, blank=True, verbose_name=u'Родитель', related_name='children')
number = models.CharField(verbose_name='№ п/п', max_length=128)
name = models.TextField(verbose_name='Наименование работы')
class EsAct(models.Model):
estimate = models.ForeignKey(Estimate, related_name='es_acts')
number = models.CharField(max_length=3, verbose_name='Номер')
class EsActPosition(models.Model):
es_act = models.ForeignKey(EsAct, related_name='es_positions')
es_position = models.ForeignKey(EsPosition, verbose_name='Наименование работы')
es_count = models.FloatField(verbose_name='Количество', null=True, blank=True)
Делаю запрос на выборку всех EsPosition которые есть в EsAct с id=4, а значения EsPosition которых нет в этом акте должны быть пустыми
prefetch = Prefetch('esactposition_set', queryset=EsActPosition.objects.filter(es_act_id=4))
es_pos = EsPosition.objects.filter(estimate=est).prefetch_related(prefetch).values('name', 'number',
'esactposition__es_act__number',
'esactposition__es_act__id',
'esactposition__es_count',
'esactposition__amount')
но фильтр в prefetch почему-то не срабатывает и в выборке доавляются все EsAct а не только с id=4