Django는 오픈 소스 Python 웹 프레임워크로 MVT(Model-View-Template) 아키텍처 패턴을 채택하고 애플리케이션을 모델, 뷰 및 템플릿의 세 부분으로 나눕니다. 그 중 Model은 Django 프레임워크의 기본 구성 요소로 데이터를 정의하고 관리하는 데 사용됩니다. 이 글에서는 Django 프레임워크의 Model에 대해 자세히 설명합니다.
Django 프레임워크에서 모델은 데이터 정의, 캡슐화, 저장 및 관리를 담당하는 구성 요소입니다. 모델은 주로 Python 클래스 형태로 정의되며, 각 모델은 데이터베이스 테이블을 나타냅니다. 예를 들어, 사용자 관리 애플리케이션을 생성하려는 경우 User라는 모델을 생성할 수 있으며 해당 데이터베이스 테이블은 user라는 테이블입니다.
모델에서 테이블의 필드를 정의할 수 있습니다. 이러한 필드는 정수, 문자열, 날짜 등이 될 수 있습니다. 각 필드는 테이블의 열에 해당합니다. 또한 데이터를 운영하고 관리하기 위한 몇 가지 메서드와 속성을 정의할 수도 있습니다.
Django의 모델 명명 규칙은 비교적 간단하며 Python의 명명 규칙을 따릅니다. 모델의 클래스 이름은 대문자로 시작해야 하며 다음과 같이 카멜 케이스로 이름이 지정되어야 합니다.
class MyModel(models.Model): name = models.CharField(max_length=50) age = models.IntegerField()
Django 프레임워크에서 모델은 테이블의 열을 나타내는 일련의 필드 유형을 정의합니다. . Django의 필드 유형은 다음과 같습니다.
class MyModel(models.Model): name = models.CharField(max_length=50) age = models.IntegerField(default=0)
이 예에서 이름 필드 유형은 CharField이고 최대 길이는 50이며 연령 필드 유형은 IntegerField이고 기본값은 0입니다. .
각 모델 클래스는 모델의 추가 구성을 위해 메타 클래스를 정의할 수 있습니다. 예를 들어 모델의 정렬 방법, 사용된 데이터 테이블 이름, 다른 모델과의 관계 등을 지정할 수 있습니다. 일반적인 사용법은 관리 배경에서 사용되는 데이터 테이블 이름과 모델의 자세한 이름을 지정하는 것입니다.
class MyModel(models.Model): name = models.CharField(max_length=50) age = models.IntegerField() class Meta: db_table = 'my_model' verbose_name = "我的模型" verbose_name_plural = "我的模型集合"
이 예에서는 db_table 옵션을 사용하여 데이터 테이블 이름을 my_model로 지정하고, verbose_name 옵션을 사용하여 모델의 중국어 이름을 "my model"로 지정하고, verbose_name_plural 옵션을 사용하여 해당 모델을 지정합니다. "나" 모델 모음 "과 같은 복수형 중국어 이름.
모델에서는 필드를 정의하는 것 외에도 데이터를 운영하고 관리하기 위한 몇 가지 메서드와 속성을 정의할 수도 있습니다. 예를 들어, 사용자의 연령 그룹을 가져오는 메서드를 정의할 수 있습니다.
class User(models.Model): name = models.CharField(max_length=50) age = models.IntegerField() def get_age_range(self): if 0 <= self.age < 18: return "未成年" elif 18 <= self.age < 30: return "青年" elif 30 <= self.age < 50: return "中年" else: return "老年"
이 메서드는 사용자의 연령을 기반으로 문자열을 반환하여 사용자의 연령 그룹을 나타낼 수 있으며 이는 비즈니스 로직에서 사용하기에 편리합니다. 또한 모델에 대한 일부 정보를 빠르게 얻기 위해 일부 속성을 정의할 수도 있습니다. 예:
class MyModel(models.Model): name = models.CharField(max_length=50) age = models.IntegerField() @property def full_name(self): return "{}{}".format(self.name, self.age)
Django 프레임워크는 모델을 추가, 삭제, 수정, 확인하는 데 사용할 수 있는 자동 생성 관리 백엔드를 제공합니다. 각 모델에 대한 관리 백엔드를 생성하려면 model/admin.py 파일에서 관련 구성을 수행하기만 하면 됩니다.
from django.contrib import admin from .models import MyModel admin.site.register(MyModel)
이 예제에서는 MyModel이 관리 백그라운드에서 동작할 수 있도록 admin.site.register() 함수를 사용하여 MyModel을 관리 백그라운드에 등록해 보겠습니다.
위 내용은 Django 프레임워크의 모델에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!