IT/파이썬 2023. 5. 5.
Django manage.py my_command - 커스텀 명령어 만들기
가끔 배치 파일로 처리할 필요가 있다. python manage.py runserver 처럼 간단하게 자기 명령어를 만들어서 수행할 필요가 있다. 아주 잘 정리되어 있는 글이 있다. https://windybay.net/post/28/ Django 커스텀 manage.py 명령어 만들기 장고 프로젝트에서 manage.py 를 이용해 프로젝트 관련 명령을 실행할 때가 있다. 등등 테스트용 서버를 띄우거나 … windybay.net 나도, 빙 코파일럿을 이용해서 초안을 더 작성해 봤다. 엑셀 파일 명을 받아서 DB 에 입력하는 예제를 만들어 달라고 요청하고 정리해봤다. Django에서는 사용자가 커스텀 manage.py 명령어를 만들 수 있습니다. 이를 위해서는 Django 앱 내에 management/co..
IT/파이썬 2023. 4. 28.
Django - Rest-framework API 서버 구현 with Django Ninja
Django Ninja의 주요 장점으로는 다음과 같은 것들이 있습니다 홈페이지에 많은 정보가 있겠죠? 일단은 방문 필수!! https://django-ninja.rest-framework.com/ Django Ninja Django Ninja - Fast Django REST Framework Django Ninja is a web framework for building APIs with Django and Python 3.6+ type hints. Key features: Easy: Designed to be easy to use and intuitive. FAST execution: Very high performance thanks to Pydantic and a django-ninja.rest-..
IT/파이썬 2023. 4. 26.
Django - response 객체에 쿼리스트링 추가
response 보낼때 쿼리 스트링 붙여서 보내고 싶다면, 아래 코드를 참고하세요. response = redirect("order_view", pk=order.id) response["Location"] += "?" + request.POST.get("querystring") return response Location 이라는 필드가 있는 지 어케 아는지? 이렇게 작성을 해도 되고, from django.http import HttpResponse def my_view(request): # Get the query string from the request query_string = request.GET.get("querystring") # Create the URL with the query stri..
IT/파이썬 2023. 4. 18.
Django ORM - Q 객체, F 객체 사용
django orm에서 Q 객체를 사용하면 OR/AND 조건을 적용할 수 있습니다. Q 객체는 복잡한 조건식을 표현할 수 있도록 도와주는 객체로, 논리 연산자 (|, &, ~)를 사용할 수 있습니다1. 예를 들어, filter(Q(name=“lee”) | Q(age__gt=20))는 name이 "lee"이거나 age가 20보다 큰 레코드를 필터링합니다1. Q 객체는 filter(), exclude(), get() 등의 메소드에 인자로 전달할 수 있습니다2. Q 객체끼리는 연결하여 사용할 수 있습니다2. 예를 들어, filter(Q(name=“lee”) & Q(age__gt=20), Q(gender=“M”))는 name이 "lee"이고 age가 20보다 크며 gender가 "M"인 레코드를 필터링합니다2...
IT/파이썬 2023. 4. 18.
Django ORM - 중복 레코드 제거 방법
django orm에서 중복 레코드를 삭제하는 방법은 다음과 같습니다. 중복 레코드를 삭제하려면 먼저 중복 조건을 정의해야 합니다. 예를 들어, name과 age 필드가 모두 같은 레코드를 중복으로 간주한다면, filter(name__exact=F(‘age’))와 같이 filter() 함수에 Q 객체나 F 표현식을 사용할 수 있습니다 중복 조건에 맞는 레코드들의 id를 values_list() 함수로 추출합니다. 이때 flat=True 옵션을 주면 id 값들이 리스트 형태로 반환됩니다. 예를 들어, ids = Person.objects.filter(name__exact=F(‘age’)).values_list(‘id’, flat=True)와 같이 사용할 수 있습니다. 중복 조건에 맞는 레코드들 중에서 하나..