필드
12가지 기본 모델 필드 유형과 모델 간의 관계를 설정하기 위한 특수 ForeignKey 및 ManyTo다양하다 필드가 있습니다.
!!!팁 ForeignKey 및 ManyTo많이 필드 확인 관계에 대한 설명.
각 필드에는 Pydantic 모델을 생성하는 데 사용되는 SQLALCHEMY 열 클래스와 Python 유형이 할당됩니다.
필드 유형
끈
String(max_length: int, min_length: int = None, regex: str = None,) 필요한 max_ 길이 매개 변수가 있습니다.
- Sqlalchemy 열: sqlalchemy입니다. 끈
- 유형(피단틱용): str
!!!팁 다른 매개 변수에 대한 지침은 Pydantic 설명서를 참조하십시오.
텍스트
텍스트()에 필요한 매개 변수가 없습니다.
- Sqlalchemy 열: sqlalchemy입니다. 텍스트
- 유형(피단틱용): str
!!!팁 다른 매개 변수에 대한 지침은 Pydantic 설명서를 참조하십시오.
부울
부울()에는 필수 매개 변수가 없습니다.
- Sqlalchemy 열: sqlalchemy입니다. 부울
- 유형(피단틱용): bool
정수
Integer(minimum: int = None, maximum: int = None, multiple_of: int = None) 필수 매개 변수가 없습니다.
- Sqlalchemy 열: sqlalchemy입니다. 정수
- 유형(피단틱용): int
!!!팁 다른 매개 변수에 대한 지침은 Pydantic 설명서를 참조하십시오.
큰 정수
BigInteger(minimum: int = None, maximum: int = None, multiple_of: int = None) 필수 매개 변수가 없습니다.
- Sqlalchemy 열: sqlalchemy입니다. 더 큰 관심
- 유형(피단틱용): int
!!!팁 다른 매개 변수에 대한 지침은 Pydantic 설명서를 참조하십시오.
작은 정수
SmallInteger(minimum: int = None, maximum: int = None, multiple_of: int = None) 필수 매개 변수가 없습니다.
- Sqlalchemy 열: sqlalchemy입니다. 작은 정수
- 유형(피단틱용): int
!!!팁 다른 매개 변수에 대한 지침은 Pydantic 설명서를 참조하십시오.
플로트
Float(minimum: float = None, maximum: float = None, multiple_of: int = None) 필수 매개 변수가 없습니다.
- Sqlalchemy 열: sqlalchemy. 플로트
- 유형(피단틱용): 플로트
!!!팁 다른 매개 변수에 대한 지침은 Pydantic 설명서를 참조하십시오.
십진법
Decimal(minimum: float = None, maximum: float = None, multiple_of: int = None, precision: int = None, scale: int = None, max_digits: int = None, decimal_places: int = None) 필수 파라미터 없음
길이 및 정밀도 파라미터 또는 max \ _ 자리 및 소수 \ _ 자리를 사용할 수 있습니다.
- Sqlalchemy 열: sqlalchemy입니다. DECIMAL
- 유형(피단틱의 경우): 십진수. 십진수
!!!팁 다른 매개 변수에 대한 지침은 Pydantic 설명서를 참조하십시오.
날짜
날짜()에 필요한 매개 변수가 없습니다.
- Sqlalchemy 열:sqlalchemy.Date
- 유형(피단틱의 경우):datetime.date
시간
시간(시간대: bool = 거짓) 필수 파라미터가 없습니다.
시간대 인식 데이터베이스 열에 대해 시간대 = 참을 통과할 수 있습니다.
- Sqlalchemy 열: sqlalchemy입니다. 시간
- 유형(피단틱의 경우): datetime
날짜 시간
DateTime(timezone: bool = False) 필수 매개 변수가 없습니다.
시간대 인식 데이터베이스 열에 대해 시간대 = 참을 통과할 수 있습니다.
- Sqlalchemy 열: sqlalchemy입니다. 날짜 시간
- 유형(피단틱의 경우): datetime
제이슨
JSON()에는 필수 매개 변수가 없습니다.
- Sqlalchemy 열: sqlalchemy. JSON
- 유형(피단틱의 경우): 피단틱. 제이슨
큰 이진 파일
큰 이진수(max_ 길이)에는 필요한 max_ 길이 매개 변수가 있습니다.
- Sqlalchemy 열: sqlalchemy입니다. 큰 이진법
- 유형(피단틱용): 바이트
큰 이진 길이는 일부 백엔드(즉, MySQL)에서 필드의 크기를 결정하는 데 사용되며, 다른 백엔드에서는 단순히 무시되지만 ormar에서는 항상 필요합니다. 파일/바이트의 최대 크기(바이트)여야 합니다.
큰 바이너리에는 옵션인 represent_as_base64_str: bool = False 플래그도 있습니다. Truweathermar로 설정하면 바이트 값이 Base64 디코딩된 문자열로 자동 변환되며 Base64 인코딩 문자열을 전달하여 값을 설정할 수도 있습니다.
이렇게 하면 값이 UTF-8과 호환되지 않더라도 API를 통해 값을 설정할 수 있습니다. 그렇지 않으면 JSON 변환 중에 실패합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | |
범용 고유 장치 식별자
UUID(uuid_format: str = 'hex') 필수 매개 변수가 없습니다.
- Sqlalchemy 열: ormar. sqlalchemy를 기반으로 한 UUID. CHAR(36) 또는 sqlalchemy. CHAR(32) 필드(각각 문자열 또는 16진수 형식)
- 유형(피단틱용): uuid. UUID
uuid_ 형식 매개 변수는 "16진수"(기본값) 또는 "문자열" 값을 허용합니다.
형식에 따라 데이터베이스에 32자 또는 36자가 사용됩니다.
샘플:
- "16진수" 형식 값 =
c616ab438cce49dbbf4380d109251dce(캐릭터(32)) - "문자열" 값 =
c616ab43-8cce-49db-bf43-80d109251dce(캐릭터(36))
로드 시 항상 파이썬 UUID이므로 비교하고 두 형식 간의 값을 비교할 수 있습니다.
열거
ormar ->에서 열거를 사용하는 두 가지 방법이 있습니다. 하나는 sqlalchemy의 전용 열거 필드를 사용하는 것입니다. 열 유형을 열거하고 다른 하나는 ormar의 모든 필드에서 선택을 설정하는 것입니다.
열거형 필드는 데이터베이스 방언별 열거형 열 유형(사용 가능한 경우)을 사용하지만 이 필드 유형을 사용할 수 없는 경우 다시 varchar로 이동합니다.
선택 옵션은 항상 선택한 데이터베이스 필드 유형을 따릅니다.
따라서 사용할 백엔드와 열거 필드에서 사용할 열/데이터 유형에 따라 달라집니다.
열거 - 필드
Enum(enum \ _ 클래스 = Type \ [ Enum \ ])에는 필요한 enum \ _ 클래스 인수가 있습니다.
- Sqlalchemy 열: sqlalchemy입니다. 열거
- 유형(피단틱의 경우): 유형[에넘]