오히려 좋아..

상황이 나쁘게만 흘러가는 것 같을 때 외쳐보자.. .

궁금한 마음으로 포트폴리오 보기

장고 3

[Django] Django MySQL Fulltext Index 설정

오늘은 Django-mysql로 구성되어 있는 어플리케이션에서 Full text index를 설정하는 방법에 대해 알아보겠다. 먼저 현재 장고에서는 Fulltext 인덱스를 ORM으로 지원하지 않기 때문에 실제 쿼리를 데이터 베이스에 날려 동작해줘야한다. 아래 명령어를 통해 FullText를 설정하는 쿼리를 마이그레이션 파일로 만들어주자. app_name에 마이그레이션 파일을 생성하고자하는 app 이름을 작성해주면 된다. python manage.py makemigrations app_name --empty --settings=app.settings.local 생성된 마이그레이션 파일은 아래와 같다. 이제 operations안에 Fulltext를 생성하는 쿼리를 작성해주자. from django.db i..

[Django] Aggregate와 Annotate

아래에서 사용된 코드는 아래 레포지토리에서 받을 수 있다. https://github.com/junha6316/django_ex junha6316/django_ex Contribute to junha6316/django_ex development by creating an account on GitHub. github.com 장고 ORM의 기능 중 Aggregate와 Annotate에 대해 정리한 글이다. 어떤 기능을 하고 있는지는 많이 들어 알고 있지만 실제로 사용해본적은 없다; http://raccoonyy.github.io/django-annotate-and-aggregate-like-as-excel/ (엑셀만큼 쉬운) Django Annotation/Aggregation Django ORM을 강력..

[Django] 이미지 파일업데이트시 기존 파일 삭제하기

1. 직접 구현 원하는 모델의 save method를 아래와 같이 오버라이드 해주면 된다. import sys class Blablabla(model.model): def save(self, *args, **kwargs): #해당하는 model 클래스를 갖고온다. mod = getattr(sys.modules[__name__], self._meta.object_name) try: obj = mod.objects.get(id=self.id) except: obj = None else: for field in obj._meta.fields: field_type = field.get_internal_type() #필드 이름이 FileField나 ImageField 라면 if field_type == 'File..