본문 바로가기
Python/Django

[Django] ORM 모델 클래스 선언하기 feat. Decriptor

by Lee David 2022. 8. 11.
반응형
python class내에 변수 선언 방법 참조 링크

https://paciencia.tistory.com/87


Database에 접근하여 데이터를 CRUD하는 방법중에 Django에서는 ORM 모델 class를 활용합니다.

Django에서는 ORM class를 선언 할때에는 django.db의 models를 인자값으로 선언해주어야 합니다.

from django.db import models

# ORM 모델 class
class Client(models.Model):
    name = models.CharField(max_length=100)
    phone = models.CharField(max_length=11)
    
# ------------------------------------------ 비교선

# 일반 class 선언시에 위와 동일한 코드
class Client:
    def __init__(self, name: str, phone: str):
        self.name = name
        self.phone = phone

코드를 보면 name과 phone의 경우 class 변수로 오해 할 수도 있지만 models.Model을 통해 ORM class 로 활용되는 경우 선언되는 변수에 models를 가진 Decriptor 객체이며 해당 변수들은 instance 변수로 분류 됩니다.

 

반응형