본문 바로가기

Backend/Python

[DRF] Django Rest Framework (1-2)

반응형

Null vs Blank

Null=True는 값이 없어도 된다는 것을 의미

Blank=True는 공백이라도 존재해야 한다는 것을 의미

 

Serializers VS Forms

  Serializer Form
정의 DRF Django
목적 API-데이터 간 변환처리 HTML폼 생성, 폼데이터 검증 및 처리
동작 인스턴스-JSON 간의 직렬화 및 역직렬화 폼 렌더링하고 제출된 데이터 검증

 

모델 필드의 값 제한(like Java's Enum)

from django.db import models

class Member(models.Model):
    class MemberAuth(models.TextChoices):
        USER = 'USER', 'User'
        ADMIN = 'ADMIN', 'Admin'
        GUEST = 'GUEST', 'Guest'

    class MemberState(models.TextChoices):
        ACTIVE = 'A', 'Active'
        INACTIVE = 'I', 'Inactive'
        BANNED = 'B', 'Banned'

    nickName = models.CharField(max_length=100)
    email = models.EmailField()
    password = models.CharField(max_length=100)
    memberAuth = models.CharField(max_length=100, choices=MemberAuth.choices, default=MemberAuth.USER)
    memberState = models.CharField(max_length=1, choices=MemberState.choices, default=MemberState.ACTIVE)

    def to_dic(self):
        return {
            "nickName": self.nickName,
            "email": self.email,
            "password": self.password,
            "memberAuth": self.memberAuth,
            "memberState": self.memberState
        }

 

choices에서 사용 되는 값은 db_value, display_value의 형태로 선언된다.

 

 

반응형

'Backend > Python' 카테고리의 다른 글

[DRF] JWTAuthentication Errors  (0) 2024.07.24
[drf] JWT인증 추가  (0) 2024.07.16
[DRF] Django Rest Framework (1-1)  (0) 2024.07.11
[DRF] Django Rest Framework (1)  (0) 2024.07.09
[DRF] Django Rest Framework (0)  (0) 2024.07.09