본문 바로가기

반응형

개발

(40)
[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..
[해설과 함께 읽는 Django 문서] Models - Verbose Field 이름 원문 링크한국어로 옮기기 어색한 단어들은 영문으로 혹은 해석이 애매한 구절은 직역한 그대로 사용 하였습니다.Verbose field 이름ForeignKey, ManyToManyField, OneToOneField 를 제외하면, 각각 필드 타입은 선택적인 첫번째 positional argument를 취한다. - 이를 verbose name 이라고 한다. 만약 verbose name이 주어지지 않으면, 장고는 자동으로 field의 속성이름을 사용하여서 underscore들을 space로 바꾸면서 자동으로 생성할 것이다.아래 예제를 보면, verbose name은 person's first name 이다:xxxxxxxxxxfirst_name = models.CharField("persons's firs..
[python ] 6kyu Unary function chainer Unary function chainer 문제단항 함수의 리스트 묶음의 체이닝을 위해서 higher order 함수를 작성해라. 나의 풀이이 문제를 제대로 풀지 못하였고, 구글 검색을 통해서 방법을 찾아보았다.내가 이 문제를 풀지 못한 이유는 고차함수에 대한 이해 부족 때문이다. 그래서 stackoverflow에 답을 찾아보기로 하였고, 그로 인한 나의 풀이는 아래와 같다.xxxxxxxxxxdef chained(functions): def apply(param): result = param for f in functions: result = f(result) return result return apply내가 최초에 잘 모르겠다고 생각한 부분은, 추가되는 함수 인자 부분을 어떻게 표현해야할지에 대해서 감..
[해설과 함께 읽는 Django 문서] Models - Automatic primary key 필드 Automatic primary key 필드기본적으로 장고는 각각 모델에 아래 필드를 준다.xxxxxxxxxxid = models.AutoField(primary_key=True)이것은 자동 증가하는 primary key 이다.만약 당신이 custom primary key 설정을 원한다면, primary=True 를 당신의 필드에 설정해주어야 한다만약 장고가 명시적으로 Field.primary_key 를 당신이 세팅한 것을 알게된다면, 이것은 자동으로 생성되는 id 컬럼을 추가하지 않을 것이다.각각 모델은 primary_key=True 를 가진 필드가 정확하게 1개 이길 요구한다.(명시적으로 선언 하거나, 자동적으로 생성되거나 둘중에 하나)내 마음대로 해설위의 내용은 간단하다 1.각 모델 마다 pk는 자..
[해설과 함께 읽는 Django 문서] Models - 필드옵션 필드 옵션각각의 필드는 특정 필드 별 argument 집합을 사용한다. 예를들면 CharField 는 max_lengthargument를 요구한다 - max_length는 데이터를 저장하는데 사용되는 VARCHAR 데이터베이스 필드의 크기를 지정하는 argument이다.모든 필드 타입에 공통적으로 이용가능한 argument 집합이 있다. 모든 것은 선택적이다. 레퍼런스에서 전부 설명되어있다. 여기서는 가장 자주 많이 쓰이는 것을 요약한다null만약에 True 이면, 장고는 db 상에서 NULL을 빈 값으로써 저장할 것이다. 기본값은 False 이다blank만약에 True 이면, 이 필드는 블랭크가 되는 것이 허락된다. 기본 값은 False 이다.알아 두어야 할 점은 null과는 다르다는 것이다. null..
[해설과 함께 읽는 Django 문서] Models - Quick example, Using models 원문 링크 한국어로 옮기기 어색한 단어들은 영문으로 혹은 해석이 애매한 구절은 직역한 그대로 사용 하였습니다. 모델 모델은 당신의 데이터에 대해서 단 하나의 정보이다. 이것은 필수적인 필드들과 당신이 저장하는 데이터의 행동들을 포함한다. 대개 각각 모델은 1개의 데이터베이스 테이블에 매핑된다. 기본적으로 각각의 모델은 파이썬 클래스 이다 - 이 클래스는 django.db.models.Model 의 서브 클래스이다. 각각의 모델의 속성은 데이터베이스의 필드를 나타낸다. 위의 두가지와 함께, 장고는 자동으로 생성된 데이터베이스 접근 API를 제공한다; 쿼리 만들기를 보자 내 마음대로 해설 장고로 개발 하다보면 모델은 무조건 적으로 만나게 되는 놈이다. 설명에 나온대로, 데이터베이스 테이블을 파이썬의 클래스와..

반응형