본문 바로가기

소프트웨어 이야기/장고와 루비온레일즈

[django] 자주 사용되는 query set 모아서 관리하기

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


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

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


2. model에 query set을 manager으로 등록해줘야합니다 

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

objects = LessonQuerySet.as_manager()


3. custom query set 사용하기

Lesson.objects.jazz()


참고 

Django Tips #11 Custom Manager With Chainable QuerySets