Creating custom Field Lookups in Django

前端 未结 4 888
悲&欢浪女
悲&欢浪女 2020-12-30 07:48

How do you create custom field lookups in Django?

When filtering querysets, django provides a set of lookups that you can use: __contains, __iexa

4条回答
  •  滥情空心
    2020-12-30 08:28

    Rather than creating a field lookup, best practice would be to create a manager method, that might look a little bit like this:

    class PersonManger(models.Manager):
        def in_age_range(self, min, max):
            return self.filter(age__gte=min, age__lt=max)
    
    class Person(models.Model):
        age = #...
    
        objects = PersonManager()
    

    then usage would be like so:

    twentysomethings = Person.objects.in_age_range(20, 30)
    

提交回复
热议问题