본문 바로가기

ORM3

Django ORM distinct() Django에는 QuerySet이라는 객체가 있고 filter및 order_by등의 대표적인 메소드 외에, distinct 라는 메소드가 있습니다. 이 메소드를 사용하면 QuerySet 결과에서 중복 레코드(행, 오브젝트)를 제거할 수 있습니다. distinct()검증을 위해 모델을 만듭니다. Person 이라는 모델을 만듭니다. 이것은 사람을 표현하는 모델이며 이름과 나이와 같은 필드가 있습니다. from django.db import models class Person(models.Model): name = models.CharField(max_length = 128) age = models.IntegerField() name나 age필드에는 unique을 붙이지 않습니다. 따라서 name와 age값..
Django values, valuse_list Django ORM의 방법 중 하나로 필요한 필드의 값만 가져오기 위해 values()와 values_list()를 사용합니다. 각각 어떻게 사용하고 결과가 어떻게 나오는지 알아보겠습니다. values() 쿼리셋의 값을 딕셔너리 형태로 반환합니다. Post.objects.values().filter(id__lt=8) # Post.objects.filter(id__lt=8).values() # 만약 아래와 같이 values() 메소드에 인자로서 필드명을 넣으면 필드: 값의 형태로 가져올 수 있습니다. Post.objects.filter(id__lt=8).values('title') # values_list() 쿼리셋의 값을 튜플 형태로 반환합니다. Post.objects.filter(id__lt=8).va..
Django ORM Django를 배울 때 매우 중요한 개념입니다. ORM에 대한 지식이 없으면 Django 프로젝트를 재대로 작업할 수 없습니다. ORM은 객체 관계형 매퍼입니다. 모델 클래스를 생성하면 ORM이 자동으로 데이터베이스 체계를 생성합니다. SQL코드를 앱의 데이터가 저장되는 데이터베이스 테이블로 변환 합니다. 그리고 원할 때 그 데이터를 검색, 업데이트 및 삭제할 수 있습니다. 앱과 데이터베이스 간에 상호 작용할 수 있는 기능을 제공합니다. 모든 앱에는 중요한 데이터를 저장할 데이터베이스가 필요하다는 것을 알고 있기 때문입니다. 쿼리셋이란 | 장고 ORM query는 query 와 set이라는 두 단어의 모음입니다. query는 앱이 데이터베이스와 통신하거나 데이터베이스와 상호 작용할 때를 의미하고 앱이 데..