자주 사용되는 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
'소프트웨어-이야기 > 프로그래밍 언어와 프레임워크' 카테고리의 다른 글
(Django) DB Connection을 관리하는 방법 (0) | 2018.08.04 |
---|---|
(django) get_XXX_display 함수 : 모델의 속성 값을 사람이 읽을 수 있는 문장으로 변환하기 (0) | 2018.07.14 |
Django VS Ruby On Rails (1) | 2018.05.20 |
레일즈에 Service/Decorator Layer 적용하기 (8) - 끝~ (0) | 2018.04.22 |
레일즈에 Service/Decorator Layer 적용하기 (7) - Helper 대신에 Decorator 사용하기 (0) | 2018.04.22 |