Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- AWS Aurora
- 개발자와 비즈니스 관계
- django slack
- 알고리즘
- 숲을 바라보는 개발자
- sed명령어
- 웹소켓 api
- #알고리즘
- 슬랙봇
- 개발자와 비즈니스
- public.pem
- 개발자에세이
- MySQL
- 비즈니스
- ssl.key
- 비즈니스적 관점에서 생각하는 개발자 #개발자 마인드
- 업비트 웹소켓
- 데이터베이스 오류
- django 슬랙봇
- 비즈니스적 관점에서 생각하는 개발자
- #데이터베이스 #트랜잭션 #ACID #격리수준
- add colume
- django #django 5.0 #django 5.0 요약
- 개발자의 마인드
- slack bot
- private.pem
- 정렬
- #백준 #드래곤커브 #알고리즘
- django slack bot
- innodb_buffer_pool_size 오류
Archives
- Today
- Total
Info-Tech
DJango 5.0 주요 변화 본문
db_default 필드가 추가됨
Example
# db_default 값은 데이터베이스에서 계산된 기본값으로 터럴 값이나 Now와 같은 데이터베이스 함수일 수 있다.
class MyModel(models.Model):
age = models.IntegerField(db_default=18)
created = models.DateTimeField(db_default=Now())
circumference = models.FloatField(db_default=2 * Pi())
GeneratedField 필드가 추가됨
class MyModel(models.Model):
age = models.IntegerField(db_default=18)
created = models.DateTimeField(db_default=Now())
circumference = models.FloatField(db_default=2 * Pi())
GeneratedField 필드가 추가됨
Example
class Square(models.Model):
side = models.IntegerField()
area = models.GeneratedField(
expression=F("side") * F("side"),
output_field=models.BigIntegerField(),
db_persist=True,
)
area의 경우 side * side인데, 해당값을 하나의 데이터가 생성시 자동적으로 area을 계산해서 넣어주는 방식.
choices 필드의 유연성 증가
1. Field.choices (모델 필드용) 및 ChoiceField.choices (폼 필드용)는 값을 선언할 때 더 많은 유연성을 제공합니다.
Exameple
from django.db import models
Medal = models.TextChoices("Medal", "GOLD SILVER BRONZE")
SPORT_CHOICES = [
("Martial Arts", [("judo", "Judo"), ("karate", "Karate")]),
("Racket", [("badminton", "Badminton"), ("tennis", "Tennis")]),
("unknown", "Unknown"),
]
class Winner(models.Model):
name = models.CharField(...)
medal = models.CharField(..., choices=Medal.choices)
sport = models.CharField(..., choices=SPORT_CHOICES)
보시면, SPORT_CHOICES에서 tuple 형식 이외에도 List[Tuple] 형식등 다양하게 제공
2. 호출 가능한 객체를 받아들이는 기능을 추가했으며, 또한 열거형 타입을 확장하기 위해 .choices를 직접 사용할 필요가 없어졌습니다
Example
from django.db import models
Medal = models.TextChoices("Medal", "GOLD SILVER BRONZE")
SPORT_CHOICES = { # Using a mapping instead of a list of 2-tuples.
"Martial Arts": {"judo": "Judo", "karate": "Karate"},
"Racket": {"badminton": "Badminton", "tennis": "Tennis"},
"unknown": "Unknown",
}
def get_scores():
return [(i, str(i)) for i in range(10)]
class Winner(models.Model):
name = models.CharField(...)
medal = models.CharField(..., choices=Medal) # Using `.choices` not required.
sport = models.CharField(..., choices=SPORT_CHOICES)
score = models.IntegerField(choices=get_scores) # A callable is allowed.
'서버이야기' 카테고리의 다른 글
ssl.key 혹은 crt 확장자로 된 인증서를 base64로 인코딩 된 pem 파일 만들기 (0) | 2019.02.16 |
---|---|
선착순 이벤트에 대한 기술적인 회고록 (0) | 2018.10.24 |
Comments