Django 프레임워크 ORM 일반 필드

9444 단어 Django
[|]Django의 ORM 모델은 테이블의 필드를 매핑하는 데 클래스 속성을 사용합니다. 여기서 각 속성은 모델 클래스의 인스턴스입니다.
문서 목록
  • 일반 필드
  • 1.AutoField
  • 2.BigAutoField
  • 3.BooleanField
  • 4.IntegerField
  • 5.BigIntergerField
  • 6.SmallIntergerField
  • 7.PositiveIntegerField
  • 8.FloatField
  • 9.CharField
  • 10.TextField
  • 11.TimeField
  • 12.DateField
  • 13.DateTimeField
  • 14.EmailField
  • 15.URLField
  • 16.FileField
  • 17.ImageField
  • 18.UUIDField
  • 2. Field 일반 매개변수
  • 1.null
  • 2.blank
  • 3.db_column
  • 4.max_length
  • 5.default
  • 6.primary_key
  • 7.unique
  • 8.choices
  • 셋째, Meta 구성
  • 1.db_table
  • 2.ordering

  • 1. 상용 필드
    1.AutoField
    데이터베이스에 비추는 것은 int 유형으로 자동으로 증가하는 특성이다.키를 지정하지 않으면 id이라는 AutoField 필드가 자동으로 생성됩니다.다른 이름을 지정하고 자동으로 늘어나는 키를 원한다면 AutoField을 사용할 수 있다.

    2.BigAutoField
      64비트의 정형은 AutoField과 유사하고 u가 데이터를 생성하는 범위는 1-92232036854787807이다.

    3.BooleanField
      은 모델 층에서 True/False을 수신하고 데이터베이스 차원에서 tinyint 유형을 수신하며 기본값을 지정하지 않으면 기본값은 None이다.

    4.IntegerField
       정형, 크기 범위는-2147483648-214748이다.

    5.BigIntergerField
       대형 정형, 크기 범위는 -9222336854775808-922320368547775807이다.

    6.SmallIntergerField
       소형 정형의 크기 범위는 -32768--32767이다.

    7.PositiveIntegerField
    정규형(기호가 없는 정형이 아님), 크기 범위는 0-21483647입니다.

    8.FloatField
      부동점 유형, 데이터베이스에 비치는 것은 float 유형입니다.

    9.CharField
     python 차원에서는 일반 문자열이고 데이터베이스 차원에서는 varchar 형식이다.이 유형을 사용할 때 최대 길이를 지정해야 합니다. 즉, max_length 키워드 파라미터를 전달해야 합니다.

    10.TextField
      큰 텍스트 형식은 데이터베이스에 비치는 longtext 형식으로 길이가 무한한 문자열로 이해할 수 있습니다.

    11.TimeField
      시간 유형은python에서 datetime.time 유형이고 데이터베이스에서 time 유형이다.시간을 기록하는 데 쓰다.

    12.DateField
    날짜 유형.python에서는 datetime.date 유형, 매핑 데이터베이스에서는 date 유형으로 연월일을 기록할 수 있습니다.이 Field를 사용하면 다음과 같은 매개 변수를 전달할 수 있습니다.
  • auto_now: 이 데이터를 저장할 때마다 현재 시간을 사용합니다. 이 매개 변수의 값은 True/False입니다.데이터 수정 날짜를 기록할 수 있습니다.
  • auto_now_add: 데이터가 처음 추가될 때마다 현재 시간을 사용하고 파라미터 값은 True/False으로 첫 번째 입고 시간을 기록할 수 있습니다.


  • 13.DateTimeField
    날짜 시간 유형은 104591410과 유사합니다.날짜뿐만 아니라 시간도 저장한다.데이터베이스에 비추는 것은 DateField 형식입니다.이 Field에도 datetimeauto_now 두 개의 속성이 있다.

    14.EmailField
      는 auto_now_add과 유사하며 데이터베이스 밑바닥에는 CharField 유형이고 최대 길이는 254글자이다.varchar은 데이터베이스 차원에서 문자열을 제한하지 않고 반드시 메일박스 형식을 만족시켜야 하며 모델포름 등 폼과 관련된 조작을 사용할 때만 작용한다.즉 EmailField은 임의의 문자열 데이터를 저장할 수 있다.

    15.URLField
     는 EmailField과 유사하며 url 형식의 배고픈 문자열만 저장할 수 있으며 기본 CharField은 200이다.

    16.FileField
    파일 업로드에 대한 자세한 내용은 파일을 저장하는 데 사용됩니다.

    17.ImageField
      는 사진 파일을 저장하는 데 사용되며, 상세한 것은 사진 업로드를 보십시오.

    18.UUIDField
    \104591410 형식의 문자열만 저장할 수 있습니다.max_length은 32비트의 전 세계 유일한 문자열로 일반적으로 메인 키로 쓰인다.
       
    2. Field 상용 매개 변수
    1.null
    기본값은 104591410입니다.만약에 uuid으로 설정하면 데이터베이스에 있는 해당 필드는null일 수 있다.uuid으로 설정하면 해당 필드는null일 수 없습니다.문자열과 관련된 Field를 사용할 때는 기본값인 False을 최대한 사용하지 마십시오.왜냐하면 Django가 문자열과 관련된 Field를 처리할 때 이 Field의 True이 있어도 이 Field에 아무런 값도 전달하지 않으면 Django는 빈 문자열인 False을 저장할 것이다.따라서 다른 필드의 False을 더 사용하면 Django는 두 가지 빈 값을 만들 수 있습니다 (null과 빈 문자열).폼 검증 시 이 문자열을 비워 두면 null=True을 더 사용하는 것을 권장합니다.(매개 변수 ""은 데이터베이스 차원에 대한 것이고 null=True은 전단 폼 검증에 대한 것이다).

    2.blank
      표지 이 필드는 폼 검증 시 빈 문자열을 전송할 수 있는지 여부입니다. 기본값은 blank=True입니다.null과 차이: blank은 순수한 데이터베이스 단계의 판단이다.False은 폼 검증 단계를 바탕으로 한다.

    3.db_column
    데이터베이스에 있는 필드의 이름을 정의합니다.이 매개변수를 설정하지 않으면 모델의 속성 이름이 필드 이름으로 사용됩니다.

    4.max_length
    문자열 데이터의 최대 길이를 지정합니다.

    5.default
    \f41 필드의 기본값입니다.값 또는 함수일 수 있지만 null 표현식은 지원되지 않습니다.목록/사전/집합 등 가변적인 데이터 구조는 지원되지 않습니다.null의 값은 하나의 함수로 데이터가 생성될 때마다 기본적으로 이 함수를 호출합니다.또한 사용하는 것은 모두 blank의 방식으로 괄호를 넣을 수 없으며default의 값은 모두 함수의 반환값이다.

    6.primary_key
    기본 키가 될 지 여부입니다.기본값은 lambda입니다.

    7.unique
    테이블에서 필드의 값이 고유한지 여부일반적으로 계정 설정 등으로 쓰인다.

    8.choices
      는 하나의 원조를 받아들인다. 그 안의 값도 원조(값이 변하지 않도록 확보함)로 이 필드의 값의 선택 범위를 제한한다.그 중에서 각 자원 그룹의 형식은 default이고 그 중에서 default= 은 선택할 수 있는 값이며 False은 이 값의 해석이다. 실례 대상에서 (value,display_name) 방법을 사용하면 대응하는 value을 얻을 수 있다.  샘플 코드:
    class User(models.Model):
    	POSITION_LIST = (
    		(1,"regular user"),
    		(2, "vip"),
    		(3, "svip"),
    		(4, "admin"),
    	)
    	position = models.IntegerField(choices=POSITION_LIST)
    		...
    
    display_name 필드가 2인 .get_ _display()의 실례에 대해 display_name 방법을 사용하면 문자열'vip'를 얻을 수 있다.
       
    3. 메타 구성
      모델 단계의 설정에 대해 클래스에서 position이라는 플러그인 클래스를 정의한 다음에 User 클래스에 클래스 속성을 추가하여 모델을 제어할 수 있다.예를 들어 데이터베이스에 비추려고 할 때 기본적으로 생성된 이름 대신 자신이 지정한 테이블 이름을 사용하면 get_position_display() 클래스에 Meta이라는 속성을 추가할 수 있다.코드 예:
    class Book(models.Model):
    	name = models.CharField(max_length=20,null=False)
    	desc = models.CharField(max_length=100,db_column="description")
    	pub_date = models.DateTimeField(auto_now_add=True)
    	
    	class Meta:
    		db_table = 'book_model'
    		ordering = ['pub_date']
    

    일반 속성:
    1.db_table
      이 모델이 데이터베이스에 비치는 테이블 이름을 지정합니다. 이 인자가 지정되지 않으면 비치는 동안 Meta을 기본 테이블 이름으로 사용합니다.
    필드 이름 지정: 필드를 정의할 때 Meta 파라미터를 전송합니다.
    지정 표명: db_table 플러그인 클래스에서 속성 app_model의 값을 지정합니다.

    2.ordering
      반환 기록 결과 집합이 어느 필드에 따라 정렬되는지 설정합니다.이것은 문자열의 원조나 목록이며, 문자열의 위치는 정렬의 우선순위를 나타낸다.모든 문자열은 하나의 필드 이름과 선택할 수 있는 내림차순을 나타내는 '-' 로 구성되어 있다.필드 이름 앞에 음수가 없으면 오름차순으로 정렬합니다.

    좋은 웹페이지 즐겨찾기