본문 바로가기

소프트웨어-이야기/프로그래밍 언어와 프레임워크

(django) 자주 사용되는 queryset 모아서 관리하기

자주 사용되는 query set들을 한군데 모아서 관리하는 방법을 설명해보고자 합니다 :) 

 

1. manager.py 를 만들어서, query set을 추가합니다

class LessonQuerySet(models.QuerySet):
    def jazz(self):
        return self.filter(subject='jazz')

 

2. model에 queryset을 manager으로 등록합니다

class Lesson(models.Model):
    from_time = models.CharField()
    to_time = models.CharField()
    subject = models.CharField()

    objects = LessonQuerySet.as_manager()

 

3. custom queryset은 다음과 같이 사용합니다.

Lesson.objects.jazz()

 

참고 

Django Tips #11 Custom Manager With Chainable QuerySets