django 정의 데이터베이스 모델의 기본 지식

7884 단어 django
모델 공통 속성
공통 필드:Django에서 데이터베이스 테이블의 필드 형식과 비추기 위해 Field를 정의했다.다음은 자주 사용하는 필드 유형을 소개합니다.
AutoField:
데이터베이스에 비추는 것은 int 유형으로 자동으로 증가하는 특성을 가진다.일반적으로 이 유형을 사용할 필요가 없다. 만약에 메인 키를 지정하지 않으면 모델은 자동으로 id라는 자동 성장의 메인 키를 생성한다.다른 이름을 지정하고 자동으로 늘어나는 키를 가지고 싶으면 AutoField 을 사용해도 된다.
BigAutoField:
64비트의 성형은 AutoField과 유사하지만 데이터의 범위는 1-9223372036854775807에 불과하다.
BooleanField:
모델 차원에서 수신된 것은 True/False이다.데이터베이스 차원에서tinyint 유형이다.기본값이 지정되지 않은 경우 기본값은 None입니다.
CharField:
데이터베이스 차원에서varchar 유형이다.Python 차원에서 일반적인 문자열입니다.이 유형은 사용할 때 가장 큰 길이를 지정해야 하고 max_length 이 키워드 파라미터를 전달해야 한다.
DateField:
날짜 유형.Pythondatetime.date 유형으로 연월일을 기록할 수 있다.데이터베이스에 비추는 것도 date 유형이다.이 Field를 사용하여 다음 매개변수를 전달할 수 있습니다.
  • auto_now: 이 데이터를 저장할 때마다 현재 시간을 사용합니다.예를 들어 수정 날짜를 기록하는 필드로서 이 속성을 True로 설정할 수 있다.
  • auto_now_add: 데이터가 처음 추가될 때마다 현재 시간을 사용합니다.예를 들어 첫 번째 입고를 기록하는 필드로서 이 속성을 True로 설정할 수 있다.
  • auto_now 당신이 대상을 추가하든 수정하든 시간은 당신을 위해 추가하거나 수정하는 시간입니다.

  • 4 auto_now_dd가 추가되었을 때, 대상을 업데이트할 때 변동이 없습니다.
    DateTimeField:
    날짜, 시간 유형 DateField 과 유사합니다.날짜뿐만 아니라 시간도 저장할 수 있다.데이터베이스에 매핑되는 유형은 datetime입니다.이것Fieldauto_nowauto_now_add 두 속성을 사용할 수 있다.
    TimeField:
    시간 유형.데이터베이스에서 time 유형입니다.Pythondatetime.time 유형입니다.
    EmailField:
    유사하다CharField.데이터베이스 밑바닥에서도 varchar 유형이다.최대 길이는 254자입니다.
    FileField:
    파일을 저장하는 데 쓰인다.
    ImageField:
    그림 파일을 저장하는 데 사용되는
    FloatField:
    부동 소수점 유형.데이터베이스에 매핑되는 유형은 float입니다.
    IntegerField:
    정형하다.값의 구간은 -2147483648——2147483647입니다.
    BigIntegerField:
    대성형.값의 구간은 -9223372036854775808——9223372036854775807입니다.
    PositiveIntegerField:
    정형.값의 구간은 0——2147483647입니다.
    SmallIntegerField:
    소형 성형.값의 구간은 -32768——32767입니다.
    PositiveSmallIntegerField:
    정소 성형.값의 구간은 0——32767입니다.
    TextField:
    대량의 텍스트 형식.데이터베이스에 비추는 것은 longtext 형식입니다.
    UUIDField: uuid 형식의 문자열만 저장할 수 있습니다.uuid는 32비트의 전 세계 유일한 문자열로 일반적으로 메인 키로 사용된다.
    URLField: CharField와 유사하지만 url 형식의 문자열만 저장할 수 있습니다.그리고 기본값max_length은 200입니다.
    Field의 일반 매개변수:
    null: True로 설정하면 Django 맵이 비어 있는지 여부를 지정합니다.기본값은 False입니다.문자열 관련Field(CharField/TextField)을 사용할 때 정부는 이 인자, 즉 기본값False을 사용하지 않는 것을 추천합니다.Django 문자열과 관련된 Field를 처리할 때 이것Fieldnull=False에도 이것Field에 아무런 값을 전달하지 않으면 Django에도 빈 문자열""을 기본값으로 저장하기 때문이다.따라서 null=True를 다시 사용하면 Django 두 가지 빈 값(NULL 또는 빈 문자열)이 생성됩니다.폼 검증을 할 때 이 문자열을 비워 두려면 blank=True 을 사용하십시오.만약 당신의 FieldBooleanField 이라면, 대응하는 빈 필드는 NullBooleanField 이다.
    blank:
    표의 검증을 할 때 이 필드를 비울 수 있는지 표시합니다.기본값은 False입니다.이것은 null와는 차이가 있고 null는 순수 데이터베이스 등급이다.blank는 표 검증 등급이다.
    db_column:
    이 필드의 데이터베이스에 있는 이름입니다.이 매개 변수를 설정하지 않으면 모델의 속성 이름을 사용합니다.
    default:
    기본값입니다.하나의 값이나 함수일 수 있지만 lambda 표현식은 지원되지 않습니다.또한 목록/사전/집합 등 가변적인 데이터 구조는 지원되지 않습니다.
    primary_key:
    주 키인지 여부입니다.기본값은 False입니다.
    unique:
    테이블에서 이 필드의 값이 유일한지 여부입니다.보통 핸드폰 번호/메일박스 등을 설정합니다.
    추가Field 매개 변수는 공식 문서를 참조하십시오.https://docs.djangoproject.com/zh-hans/2.0/ref/models/fields/
    모델Meta 구성:
    일부 모델 단계의 설정에 대해우리는 모델에서 하나의 종류를 정의할 수 있다. Meta.그리고 이 클래스에 클래스 속성을 추가하여 모델의 역할을 제어한다.예를 들어 우리는 데이터베이스에 비추려고 할 때 모델의 이름이 아니라 자신이 지정한 표 이름을 사용하려고 한다.그러면 우리는 Meta류에 db_table의 속성을 추가할 수 있다.예제 코드는 다음과 같습니다.
    class Book(models.Model):
        name = models.CharField(max_length=20,null=False)
        desc = models.CharField(max_length=100,name='description',db_column="description1")
    
        class Meta:
            db_table = 'book_model'
    

    다음은 Meta류 중의 일부 상용 설정에 대해 설명할 것이다.
    db_table:
    이 모델은 데이터베이스에 있는 테이블 이름을 비추어 줍니다.이 매개 변수를 지정하지 않으면, 비추는 동안 기본 테이블 이름으로 모델 이름을 사용합니다.
    ordering:
    추출된 데이터의 정렬 방식을 설정합니다.뒷장에서는 데이터를 어떻게 찾는지 이야기할 것이다.예를 들어 데이터를 찾을 때 추가된 시간에 따라 정렬하고 싶다면 예시 코드는 다음과 같다.
    class Book(models.Model):
        name = models.CharField(max_length=20,null=False)
        desc = models.CharField(max_length=100,name='description',db_column="description1")
        pub_date = models.DateTimeField(auto_now_add=True)
    
        class Meta:
            db_table = 'book_model'
            ordering = ['pub_date']
    

    더 많은 설정은 뒤에 천천히 소개될 것이다.django 공식 문서:https://docs.djangoproject.com/en/2.0/ref/models/options/

    좋은 웹페이지 즐겨찾기