Да , вы можете создать менеджер, например:
class SomeModelManager(models.Manager):
def with_value(self, value):
return self.get_queryset().filter(field_1=value, field_2=value)
или с условием или:
from django.db.models import Q
class SomeModelManager(models.Manager):
def with_value(self, value):
return self.get_queryset().filter(Q(field_1=value) | Q(field_2=value)
Затем мы можем добавить менеджера к модели SomeModel
:
class SomeModel(models.Model):
field_1 = models.IntegerField()
field_2 = models.IntegerField()
object = <b>SomeModelManager()</b>
Затем вы можете получить доступ к отфильтрованному набору запросов с помощью:
SomeModel.objects<b>.with_value(value)</b>
SomeModel.objects<b>.with_value(value)</b>.count()