Related objects reference with custom manager

django, django-models, django-orm

Solution

This has been possible since Django 1.7. Say you have a model `Entry` with two managers:

class Entry(models.Model):
    blog = models.ForeignKey('Blog', on_delete=models.CASCADE)
    ...
    
    objects = models.Manager()  # Default Manager
    entries = EntryManager()    # Custom Manager

Then you can control which manager you use by passing `manager` to `entry_set`:

b = Blog.objects.get(id=1)
b.entry_set.all() # implicitly use the default manager
b.entry_set(manager='objects').all() # explicitly use the default manager
b.entry_set(manager='entries').all() # explicitly use the entries manager

See the docs on using a custom reverse manager for more info.

Problem

I want to get the related object references and I want to use a custom manager. Is there something outside? How I can use a custom manager to get these objects? ``` b.entry_set.all() ``` E.g ``` b.custom_manager.entry_set.all() b.entry_custom_manager_set.all() ```

Original source