QuerySet e Manager personalizados sem interromper o DRY?

Estou tentando encontrar uma maneira de implementar tanto um personalizadoQuerySet e um costumeManager sem quebrar seco. Isto é o que eu tenho até agora:

class MyInquiryManager(models.Manager):
    def for_user(self, user):
        return self.get_query_set().filter(
                    Q(assigned_to_user=user) |
                    Q(assigned_to_group__in=user.groups.all())
                )

class Inquiry(models.Model):   
    ts = models.DateTimeField(auto_now_add=True)
    status = models.ForeignKey(InquiryStatus)
    assigned_to_user = models.ForeignKey(User, blank=True, null=True)
    assigned_to_group = models.ForeignKey(Group, blank=True, null=True)
    objects = MyInquiryManager()

Isso funciona bem, até eu fazer algo assim:

inquiries = Inquiry.objects.filter(status=some_status)
my_inquiry_count = inquiries.for_user(request.user).count()

Isso interrompe tudo prontamente porque oQuerySet não tem os mesmos métodos que oManager. Eu tentei criar um personalizadoQuerySet classe e implementá-lo emMyInquiryManager, mas acabo replicando todas as minhas definições de método.

Eu também encontreiesse trecho que funciona, mas preciso passar o argumento extra parafor_user por isso se decompõe porque depende muito da redefiniçãoget_query_set.

Existe uma maneira de fazer isso sem redefinir todos os meus métodos nos doisQuerySet e aManager subclasses?

questionAnswers(5)

yourAnswerToTheQuestion