2012-05-11 1 views
2

Как я могу переопределить менеджер для отношений? Например:Переопределить связанный диспетчер django для модели

user.entry_set # django.db.models.fields.related.RelatedManager 

Но мне нужен мой менеджер. Я пробую этот код, но это не работает:

class EntryManager(models.Manager): 
    use_for_related_fields = True 

Спасибо.

+1

Ради любопытства, почему, по вашему мнению, вам нужен пользовательский менеджер? –

+0

Почему не используется 'use_for_related_fields''? Это то, что он * для *, поэтому, если он не работает, в вашем коде есть что-то привнесенное. * Всегда оставляйте код. * –

+0

@ChrisPratt В действительности он работает только с отношениями OneToOneField ([билет] (https://code.djangoproject.com/ticket/14891)). – DrTyrsa

ответ

-1

Задача требует довольно хакерского кода, который будет очень трудно поддерживать и понимать (если это возможно).

Что относительно этого?

class EntryManager(models.Manager): 
    def by_user(self, user): 
     # do anything you want 

# usage 
Entry.objects.by_user(user=user) 

 Смежные вопросы

  • Нет связанных вопросов^_^