본문 바로가기

반응형

분류 전체보기

(122)
[DRF] Serializers - Serializers 클래스 선언하기 [DRF] Serializers - Serializers 선언하기원문 의 내용 중 해석이 애매한 부분은 그대로 표기하였고, 복잡한 문장은 의역하여서 정리하였습니다간단한 객체를 생성해보자.xfrom datetime import datetime​class Comment: def __init__(self, email, content, created=None): self.email = email self.content = content self.created = created or datetime.now()​comment = Comment(email='leila@example.com', content='foo bar')우리는 아래에 serializer를 선언할 것인데, 직렬화, 역직렬화 할 수있고 이 데이터는 ..
[DRF] Serializers - 개요 [DRF] Serializers - 개요serializers의 유용성을 넓히는 것은 우리가 해결하고자 하는 것입니다. 그러나 간단한 문제가 아닙니다 그리고 이것은 좀 심각한 디자인 작업이 필요합니다— Russell Keith-Magee, Django users groupSerializers는 JSON, XML이나 다른 컨텐트 타입으로 쉽게 렌더링 될 수 있는 파이썬 네이티브 데이터 타입으로 변환될 수 있는 쿼리셋과 모델 인스턴스 같은 복잡한 데이터를 허용한다. Serializers는 들어오는 데이터에 대해서 유효성 검사를 한 이후에 파싱된 데이터를 복잡한 형식으로 다시 변환 하는 것을 허용하면서, 역직렬화 또한 제공한다이 serializers 는 장고의 Form과 ModelForm 클래스들과 매우 비슷하..
[해설과 함께 읽는 Django 문서] Models - 다대다 관계에서의 추가 필드 원문 링크한국어로 옮기기 어색한 단어들은 영문으로 혹은 해석이 애매한 구절은 직역한 그대로 사용 하였습니다.다대다 관계에서 추가적인 필드당신이 many-to-many 관계를 피자와 토핑을 매칭하고 믹싱하는것처럼 다룬다면, 보통의 ManyToManyField 로 충분하다. 그러나 가끔 두개의 모델간에 관계에 대해서 연관된 데이터가 필요할 때가 있다예를들면, 뮤지션이 속한 뮤지컬 그룹을 트래킹 하는 어플리케이션 케이스를 고려해 보자. 사람과 그룹간에 다대다 관계가 있다. 당신은 ManyToManyField 를 관계를 표현하는데 사용할 수 있다. 그러나 해당 사용자가 그룹에 가입 한 날짜와 같이 수집 할 수있는 멤버십에 대한 세부 정보가 많이 있다.이러한 상황들을 위해서, 장고는 다 대 다 관계를 관리하는 데..
[Django] 다대다 관계에서 through, through_fields, through_defaults through와 through_fields와 through_default에 대한 정리1. through다대다 관계를 나타낼 때, custom 한 중개모델을 지정할 때 사용한다.xxxxxxxxxxfrom django.db import models​​class Person(models.Model): name = models.CharField(max_length=128)​ def __str__(self): return self.name​ class Meta: db_table = "person"​​class Group(models.Model): name = models.CharField(max_length=128) members = models.ManyToManyField( Person, through="Mem..
[Django] 다대다 관계의 모델을 직접 활용해 보자 다대다 관계의 모델을 직접 활용해보자1. 다대다 관계에서 모델 인스턴스 생성하기1.객체 생성 후 save() 하기xxxxxxxxxxIn [4]: person = Person.objects.create(name='권태형')INSERT INTO "person" ("name")VALUES ('권태형')​Execution time: 0.002013s [Database: default]​In [5]: python_group = Group.objects.create(name='파이썬모임')INSERT INTO "group" ("name")VALUES ('파이썬모임')​Execution time: 0.002968s [Database: default]​In [6]: vegeterian_group = Group.obje..
[Django] 다대다 관계에서 중개 모델의 제한 사항 중개 모델의 제한 사항문서에서 제시한 제한사항은 아래와 같다.1.중개 모델은 소스 모델(Group)에 대해서 무조건 딱 1개의 외래키를 포함해야한다.2.중개 모델이 소스 모델(Group)에 대해서 2개 이상의 외래키를 포함할 경우, ManyToManyField.through_fields를 사용하여 장고가 관계에 사용해야하는 외래 키를 명시적으로 지정해야 한다 3.타겟 모델(Person)에 대해서도 동일하게 1,2번이 적용된다. 1번은 아래와 같은 경우를 나타낸다.xxxxxxxxxxfrom django.db import models​class Person(models.Model): name = models.CharField(max_length=128)​ def __str__(self): return sel..
[해설과 함께 읽는 Django 문서] Models - 다 대 다 관계 원문 링크한국어로 옮기기 어색한 단어들은 영문으로 혹은 해석이 애매한 구절은 직역한 그대로 사용 하였습니다.다대다 관계Many-to-many 관계를 정의하기 위해서 ManyToManyField 를 사용해야한다. 당신은 다른 Field type을 사용했던 것처럼 사용할 수 있다:당신의 모델의 클래스 속성으로 포함하는 방법으로 사용가능하다ManyToManyField 는 positional argument를 요구한다:모델과 관련된 클래스예를들면, 만약 Pizza 가 여러개의 Topping 객체를 가지고 있다면,- 즉, 1개의 Topping 은 여러개의 피자에 올 수 있고, 각각의 피자는 여러개의 Topping 을 가질 수 있다- 아래와 같이 표현할 수 있다.xxxxxxxxxxfrom django.db impo..
[해설과 함께 읽는 Django 문서] Models - 다 대 일 관계 원문 링크한국어로 옮기기 어색한 단어들은 영문으로 혹은 해석이 애매한 구절은 직역한 그대로 사용 하였습니다.다 대 일 관계다 대 일 관계를 정의하기 위해서는 django.db.models.ForeignKey 를 사용해야한다. 당신은 다른 Field type을 사용했던 것처럼 사용할 수 있다:당신의 모델의 클래스 속성으로 포함하는 방법으로 사용가능하다외래키는 positional argument를 요구한다.:모델과 관련된 클래스예를 들면, 만약에 Car 모델이 Manufacturer 를 가지고 있다면 -즉, Manufacturer 가 여러개의 자동차를 만들 수 있으나 각각의 Car 는 오직 1개의 Manufacturer 를 가진다- 아래와 같이 정의할 수 있다.xfrom django.db import mod..

반응형