Rad Blog

Archive

Django - Queryset의 정렬 및 범위조건

2020-05-06 Django xfrnk2
이진석 선생님의 리액트와 함께 장고 시작하기 수강중 정리한 글입니다. 정렬 조건 추가 일관된 순서를 보장받기 위해 정렬 조건을 추가 DB에서 다수 필드에 대한 정렬을 지원하나 가급적 단일 필드로 하는것이 성능에 이익 시간순/역순 정렬이 필요할때는 id필드를 활용 정렬 조건 지정 방법 1. (추천) 모델 클래스의 Meta 속성으로 ordering 설정 : list로 지정 2. 모든 queryset에 order_by(…)에 지정 (주의) queryset코드에서 직접 order_by를 지정하면, Meta>ordering 설정값이 무시된다 django-extensions 커스텀 확장 기능 제공 라이브러리 Management Command, additional database fields, admin extensions 등을 지원 > python manage. Continue reading

Django Model을 통한 조회 (기초)

2020-04-30 Django xfrnk2
이진석 선생님의 리액트와 함께 장고 시작하기 수강중 정리한 글입니다. Model Manager SELECT * FROM app_model; ModelCls.objects.all() SELECT * FROM app_model ORDER BY id DESC LIMIT 10; ModelCls.objects.all().order_by('-id')[:10] INSERT INTO app_model (title) VALUES (“New Title”); ModelCls.objects.create(title="New Title") Queryset Chaining을 지원 Post.objects.all().filter(…).exclude(…).filter(…) -> QuerySet Lazy한 특성 QuerySet을 만드는 동안에 DB 접근 X 실제로 데이터가 필요한 시점에 접근 데이터가 필요한 시점 queryset print(queryset) list(queryset) for instance in queryset: print(instance) “I/O의 경우 파일 접근은 많이 하지 않고, 대개 데이터베이스 접근이기 때문에, DB QuerySet에 대한 명확한 이해가 성능향상을 도움” Continue reading