Это возможно с пользовательскими пользовательскими менеджерами :
Скажем, у вас есть класс с именем Book
:
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=50)
И вы хотите, чтобы на страницах администратора объектов книг отображались только книги Роальда Даля, тогда вы можете добавить собственный менеджер:
class DahlBookManager(models.Manager):
def get_query_set(self):
return super(DahlBookManager, self).get_query_set().filter(author='Roald Dahl')
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=50)
objects = models.Manager()
dahl_objects = DahlBookManager()
Тогда вам просто нужно указать, что ваш ModelAdmin
должен использовать менеджер dahl_objects
, что объясняется здесь .