Django

[Django] CHAR 적용하기

커다란숲 2024. 1. 2. 16:14
728x90
# models.py

class rCharField(models.Field):
    description = "CHAR field in mysql"

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.max_length = kwargs["max_length"]

    def db_type(self, connection):
        return f"CHAR({self.max_length})"

Django의 MTV 중 하나인 model에서는 varchar 형식만 지원해준다.

Char 형식을 지정해주기 위해서는 따로 클래스를 지정하여 사용해야 한다.

적용 방식은 models.py에 rCharField 클래스를 지정해준뒤 다음과 같이 CHAR 형식을 지정해주면 된다.

    MANAGEMENT_CODE = rCharField(max_length=5, null=False, verbose_name="관리코드")
728x90