양파개발자 SW의 블로그입니다^^
Posts
97 posts[Django] ORM 으로 Multiple Field 대상 Group By 날리기
Django 로 Group By 쿼리를 날리는 것에 대해서는이미 한번 작성했던 포스팅 으로 정리한 바 있습니다. 그래서 이번에는 약간 업그레이드 된 버전의 Group By 쿼리를 장고 ORM 을 날리는 법을 찾아왔뜸.!! 이번 포스팅에서는 1. 2개 이상의 필드에 대한 Group By 2. Date 필드에서 시간 OR 일 단위 Group By 3. 1+2 를 같이!! 사용한 Group By 요렇게 3가지 Group By 를 알아볼 것입니다. 자, 그럼 하나씩 알아봅시다.먼저, 예제에 사용할 Model 코드부터!!! 한번 봅시다. from django.db import models from django.db.models import functions class Company(model
[Django] ORM 으로 Group By 쿼리 날리기.
Django ORM 에는 group by 를 명시적으로 날릴만한 함수가 준비되어있지 않다.group by 를 위해 documentation 을 보다보면 그저 보다보면 아... 이게 뭐여.. 가 절로 나오기도 할것이다. 하지만 의외로 간단하게 할 수 있다.아래 raw 쿼리와 Django ORM 코드를 같이 써두었으니 참고하도록 하자. from django.db.models import Count, Model class User(Model): age = models.IntegerField() gender = models.CharField() company = models.CharField() join_dt = models.DateTimeField() # se
[Django] Resolve Error: get() returned more than one SomeModel -- it returned 6! 오류 해결하기
MultipleObjectsReturned at /some/urlget() returned more than one SomeModel -- it returned 6! Django 개발을 하다가 위와같은 오류를 보았다면 필시,Model 간의 Many to one relationship 을 확인해 보아야 한다. Model A : Model B = 1 : N의 관계를 가져야 한다고 했을때, models.ForeignKey(...) 코드를 어떤 모델에 넣어야 할까?정답은!...N 에 해당하는 Model B 이다. 위의 에러는 ForeignKey 선언을 1 에 해당하는 Model A 에 넣어놓은 상태에서 아래와 같은 코드를 사용했을때 나타난다. class B(models.Model):
[Django] ContentType Framework app_label 업데이트 전 알아두어야 할것
Django 에는... content_type framework 라 하여,모델을 정의할때 단일 객가 여러 다른 모델과 Generic 하게 Relation을 가질 수 있도록 하는 기능이 있다.즉, 국경을 뛰어넘는 멀티 Relation !!! 이 가능한.. 뭐 그런게 있음. 그런데 이때, 그 relation을 걸수 있도록 해당 모델의 정보를 기록하는 테이블이django_content_type 여기에 app_label 이라는 필드가 있는데, 이 값은 해당 모델의 코드가 위치한 django application 명을 의미하고.model 이라는 필드는 테이블 명을 의미한다. django 가 처음 구동 될 시, 이 django_content_type 테이블의 app_label 과 model 필드의 정보에 근거하
[Slack Tip] macOS Sierra에서 원화(₩) 대신 백 쿼트(`) 입력하기
백쿼트(`) 는 슬랙 에서 꽤 유용하게 쓰이는 문자열이다. 그런데 요놈이 mac sierra 부터 에서 원화 문자열로 출력되는바람에 골치를 썩인다는 점..그래서 이래저래 방법을 찾다가 아래 가이드라인을 따라해서 해결햇다. ㅋㅋㅋ ----------------------------------------------------------------- 요점만 간단히 요약하면 아래와 같음 ~/Library 폴더로 이동해서 KeyBindings 폴더를 추가한다.~/Library/KeyBindings 폴더에 DefaultkeyBinding.dict 파일을 만든다.DefaultkeyBinding.dict 파일에 아래의 코드를 추가한다.{ "₩" = ("insertText:", "`"); }



