장고 - Django 1.7 field lookup -- db field 검색 방식 이름짓기
참고 : https://docs.djangoproject.com/en/1.7/ref/models/querysets/
https://docs.djangoproject.com/en/1.7/topics/db/queries/#field-lookups
Field lookups
-- https://docs.djangoproject.com/en/1.7/topics/db/queries/#field-lookups
- SQL where 절을 어떻게 처리할것인가 문제임.
- QuerySet methods - filter(), exclude() , get() - 의 keyword arguments.
- 기본적인 lookups 키워드 인수 형태 ( double-underscore 사용)
field__lookuptype = value
- 예
>>> Entry.objects.filter(pub_date__lte='2006-01-01')
---> SQL 문으로 변환하면
SELECT * FROM blog_entry WHERE pub_date <= '2006-01-01';
** lookup 에서 사용되는 field 는 model field 이름이여야 하지만, ForeignKey 의 경우는
field name + '_id'
를 사용한다.
예 )
>>> Entry.objects.filter(blog_id=4)
--> Entry 가 Blog 모델의 primary key (id) 에 대한 ForeignKey 가지고 있는 경우
** 장고 내장 lookups 들
exact
iexact
contains
icontains
in
gt
gte
lt
lte
startswith
istartswith
endswith
iendswith
range
year
month
day
week_day
hour
minute
second
isnull
search
regex
iregex
-- lookup type 이 생략된경우는 exact 라고 여기면 된다.
-- 사용자가 필요하면 custom lookup 을 만들수있다.
'python' 카테고리의 다른 글
장고 - Django 1.7 Custom Lookups (0) | 2014.10.22 |
---|---|
장고 - Django 1.7 에서 database table 이름 짓는 방법 (0) | 2014.10.22 |
nitrous.io 에서 django 서비스 하기 (0) | 2014.10.16 |
cloud.biopython.net 에서 Django 서비스 실행하기 (0) | 2014.10.14 |
장고 - django 1.7 tutorial 1 정리 (1) | 2014.10.14 |