[date 연산 하기]
importdatetime,time
=> datetime.datetime을 사용하려면 import필요. 주의!!) from datetime import datetime을 하면 에러남
fromdatetimeimporttimedelta
date_object=datetime.datetime.strptime(request.GET[‘datepicker_end’],’%Y-%m-%d’)
end_date=date_object+datetime.timedelta(days=1)
order_info=order_info.filter(order_date__range=(‘2016-01-01’,end_date))
[Date 연산 오늘 날짜 출력]
global_value[‘today’]=datetime.datetime.now().strftime(“%Y-%m-%d”)
[datetime object formating변경]
datetime.datetime.now().date()
datetime 객체에 date()로 받으면 time부분 빠지고 날짜만 나온다.
String값으로도 충분하다면 strtime사용해도 될듯 하다.
[http GET data 받기]
request.GET.get(‘datepicker_start’,False) => data가 없을시 False return함.
if request.GET.get(‘datepicker_start’,False):
#여기 코딩
else :
#여기 코딩
[문자열 검색 ]
마지막 ‘(‘ 문자를 찾아서 거기부터 문자열 끝까지 return받는다.
self.result=name[name.rfind(‘(‘):-1]
[db keyword검색 , like구문]
order_info=order_info.filter(order_store__store_name__contains=request.GET[‘search_store’])
order_store 는 querySEt(?) 이고 __store_name 은 filed name __contains는 like 처리 하는 것
[db date range 검색]
order_info=order_info.filter(order_date__range=(request.GET[‘datepicker_start’],datetime.date.today()))
[db order by 및 limit 처리]
order_info=Order.objects.order_by(‘-order_date’)[:20]
[db query or 사용하기 (Q를 이용)]
order_info=order_info.filter(Q(order_store__store_name__contains=request.GET[‘search_store’])|Q(order_store__store_code__contains=request.GET[‘search_store’]))
[db query select with 404 error]
the_company = get_object_or_404(Company, id=company_id)
[db query sum , aggregate 사용 ]
(Total 값 구할때 유용)
order_info = Order.objects.all()
order_info_total_outstanding = order_info.aggregate(Sum(‘order_outstanding_amount’))
a=order_info_total_outstanding[‘order_outstanding_amount__sum’]
[db foreign key access하기(ordered_item 에 access) ]
order_info.prefetch_related(‘ordered_item_list’)
[조건문 if not 값이 없을경우.]
if not ABC:
ABC=’set default value’
[조건문 ABC 가 None값 일경우.]
if ABC is None:
ABC=’set default value’
[조거문 None 이 아니면]
(아래 3가지 모두 동일 조건임.)
if x is not None
if not x is None
if x
[list만들기 한출에 해결 , 문법]
#test = [order.ordered_item_list.reverse() for order in order_info]
[ajax에서 받은 json string 처리 하기]
일단 보내는 곳에서 stringfy를 통해 json모양으로 보내야 하고..이를 받아서 처리 할때 아래와 같이 한다.
parsing_source=json.loads(request.POST[‘source_data’])
[ajax에서 빈값 넘어오는 것 처리]
json으로 넘어오는 데이터의 빈 값은 unicode라서 그냥 if로 빈값 validation하면 제대로 동작 하지 않는다. 이럴 경우 string으로 바꿔서 처리 하면 편하다.
- ex) if str(value_a[‘account_id’]):