본문 바로가기
728x90

Django4

Django ORM 활용하여 하이픈 제거하여 데이터 가져오기 from django.db.models.functions import Replace class RemoveHyphen(Func): function = 'REPLACE' template = "%(function)s(%(expressions)s, '-', '')" class RemoveHyphen(Func): RemoveHyphen는 Func 클래스를 상속하여 사용자 정의 함수를 생성하는 클래스입니다. 이 이름 아래에 정의된 로직을 사용하여 SQL 함수를 생성한다. function = 'REPLACE' function 변수는 데이터베이스에서 사용될 SQL 함수의 이름을 저장합니다. 여기서는 MySQL의 REPLACE 함수를 사용하고 있습니다. REPLACE 함수는 문자열에서 특정 부분 문자열을 다른 문자열로.. 2023. 8. 17.
Django formset, is_valid 란 무엇인가? 이 글은 formset, is_valid 에 대한 공부 및 정리 목적으로 쓰는 글이다. 1. formset 이란 무엇인가? 여러개의 폼을 한번에 처리 하는데 사용 된다. Formset은 동일한 폼 클래스를 사용하여 여러 개의 인스턴스를 생성하고, 이 들을 한번에 처리하고 저장 하도록 도와준다. ex) 여러개의 댓글을 동시에 작성 하거나, 한번에 여러개의 파일을 업로드 할 경, Formset를 이용 하면 된다. # forms.py from django import forms from django.forms import formset_factory from .models import Comment class CommentForm(forms.ModelForm): class Meta: model = Commen.. 2023. 4. 22.
Django 에서 date 객체 활용 하기 오늘은 파이썬 에서 과연 현재 날짜가 몇 주차 인지 궁금 해져서 조사 하게 되었고 이번 정리는 Django에서 날짜 객체로 필터링 하는 방식에 대해 정리 해보고자 한다. 임의의 모델은 MyModel로 작명 하겠습니다. 1. 'date':주어진 날짜 와 일치 하는 데이터를 가져 오기 MyModel.objects.filter(date=date(2023, 4, 18)) 2. 'year':해당 연도와 일치 하는 데이터를 가져 오기 MyModel.objects.filter(date__year=2023) 3. 'month': 해당 월과 일치 하는 데이터를 가져 오기 MyModel.objects.filter(date__month=4) 4.'day': 해당 날짜와 일치 하는 데이터를 가져 오기 MyModel.objec.. 2023. 4. 18.
Django의 F() 객체란? 오늘은 Django에서의 객체들을 필터링 하던 중 필드 값을 그대로 참조 하고 싶어져서 조사하게 되었다. F() 객체들 사용 하기 위해서는 From django.db.models import F 라고 선언하면 된다. F() 객체를 사용하면 쿼리셋에서 필드 값을 그대로 참조하여, 쿼리 실행 시에 해당 필드의 실제 값을 사용하게 된다. 예를 들어, Q(price__gte=F('discounted_price'))와 같이 F() 객체를 사용하면, 쿼리 실행 시에 price 필드와 discounted_price 필드의 실제 값을 비교하여 결과를 반환한다. 또한 F() 객체는 필드 값을 연산할 때도 사용할 수 있다. 예를 들어, Product.objects.update(price=F('price') * 1.1)와 .. 2023. 4. 14.
728x90