Как в django получить только не удаленные элементы из поля many to many, где обе таблицы имеют мягкое удаление?

<
class B(mixins.BaseModel, OriginPublicIdMixin, mixins.SoftDeletionModel):
  # has soft deletion with soft deletion manager

class C(mixins.BaseModel, mixins.SoftDeletionModel:
  # has soft deletion, with soft deletion manager

class A(mixins.BaseModel, mixins.SoftDeletionModel):
      d = models.ManyToManyField("B", related_name="a", through="C")

Теперь, когда я делаю

a = A.filter(pk='some_id')
result = a.d.all() 
<

Результат содержит записи, для которых B не удален, а C удален/не удален. Я хочу получить только те записи, для которых и B, и C не удалены.C is not None

Я уже пробовал использовать
use_for_related_fields = True в менеджере мягкого удаления, безрезультатно

Вернуться на верх