공통 매개 변수
모든 필드 유형에는 공통 매개 변수 집합이 있습니다.
기본 키
기본 _key: bool = 거짓 -> 기본값은 거짓입니다.
외부 키가 항상 모델의 pk를 참조하도록 테이블의 기본 키 열을 설정합니다.
그것은 오직 SQL에서만 사용됩니다.
자동 증가
자동 증가: bool = Primary _key 및 type == int -> 기본 참 열이 기본 키이고 유형이 정수인 경우, 그렇지 않으면 거짓입니다.
int/bigint 필드에서만 사용할 수 있습니다.
필드에 자동 증분이 있으면 선택 사항이 됩니다.
SQL 및 Pydantic에서 사용됩니다(자동 증분을 위해 PK 필드를 선택 필드로 변경).
비어 있을 수 있음
Nullable: bool = False -> 관계형 필드를 제외한 모든 필드에 대해 기본값은 False입니다.
사용자가 다음 중 하나를 제공하면 자동으로 True로 변경됩니다.
- 기본값 또는 함수 제공
- 서버 _ 기본값 또는 함수 제공
- 정수 기본 _key 필드에서 자동 증가 설정
필드가 선택 사항인지 필수 사항인지 여부를 지정하며 SQL 및 Pydantic과 함께 사용됩니다.
기본 설정은 가장 일반적인 설정이기 때문에 pydantic 및 sqlalchemy에 사용됩니다.
- Nullable = 거짓 - 데이터베이스 열이 비어 있지 않고 필드가 pydantic으로 필요함을 나타냅니다.
- Nullable = True - 데이터베이스 열이 비어 있고 필드가 pydantic에서 선택 사항임을 나타냅니다.
pydantic 및 데이터베이스에 대해 다른 설정을 설정하려면 아래 sql_nullable을 참조하십시오.
!!!기본적으로 모든 외래 키도 null이 될 수 있으므로 관련 모델이 필요하지 않습니다.
1 | |
SQL_nullable
SQL_nullable: bool=nullable -> 기본값은 nullable 값(위에서 설명한 대로)입니다.
필드가 null이 아닌지 또는 데이터베이스에서 null만 허용되는지 여부를 지정합니다.
Pydantic 모델 및 데이터베이스에서 다른 옵션을 설정하려면 이 설정을 nullable과 함께 사용하십시오.
예를 들어 데이터베이스의 필드를 nullable로 만들 수 없지만 pydantic(즉, 서버 _기본값 사용)에서 nullable로 허용하는 것입니다. 이렇게 하면 필드가 null로 업데이트되지 않습니다(서버_기본값 설정과 마찬가지로 기본값이 사용되므로 null 값을 삽입할 수 없습니다).
기본값
기본값: 임의 = 없음 -> 기본값은 없음입니다.
다른 값이 전달되지 않으면 기본값이 사용됩니다.
삽입 시간에 호출된 SQL에서 Pydantic 모델 정의 중에 사용됩니다.
필드에 기본값이 있으면 선택 사항이 됩니다.
정적 값을 전달하거나 호출(함수 등)할 수 있습니다.
이는 SQL과 Pydantic 모두에서 사용됩니다.
사용 예:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
서버 기본값
서버_기본값: 임의 = 없음 -> 기본값은 없음입니다.
다른 값이 전달되지 않으면 기본값이 사용됩니다.
서버 측에서 호출된 SQL에서 지금() 또는 sqlalchemy 텍스트() 절로 포장된 쿼리/값과 같은 IE SQL 함수를 전달할 수 있습니다.
필드에 서버 _ 기본값이 있으면 선택 사항이 됩니다.
정적 값을 전달하거나 호출(함수 등)할 수 있습니다.
그것은 오직 SQL에서만 사용됩니다.
사용 예:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
!!! 경고 서버_ 기본값은 str,sqlalchemy.sql.elements.ClauseElement 또는 sqlalchemy.sql.elements.TextClause 를 허용하므로 i 정수 값을 설정하려면 위와 같이 sqlalchey.텍스트() 함수로 포장해야 합니다.
!!!팁 sqlalchey.gate()에 포함된 유효한 SQL(사투리별)을 전달할 수도 있습니다.
1 | |
!!!정보 서버_ 기본값이 sqlalchemy 테이블 정의로 직접 전달되었으므로 서버 기본 sqlalchemy 문서에서 자세히 읽을 수 있습니다.
이름
이름: str = 없음 -> 기본 없음
사용할 열 이름 별칭을 지정할 수 있습니다.
이것은 예약된 키워드를 사용하는 기존 데이터베이스 구조나 ormar 필드 이름과 다른 데이터베이스 이름을 사용하려는 경우에 유용합니다.
다음 코드 조각을 예로 들어 보겠습니다.
From은 Python에서 예약된 단어로 해당 열 이름으로 모델을 만들 수 없습니다.
모델 이름을 _로 변경하고 매개 변수 이름 = 'from'을 추가하면 ormar가 데이터베이스 열 이름으로 사용됩니다.
1 2 | |
마찬가지로 데이터베이스에서 외래 키 열 이름을 변경하고 원하는 관계 이름을 ormar로 유지할 수 있습니다.
1 2 | |
인덱스
색인: bool = 거짓 -> 기본값은 거짓입니다.
테이블 열의 인덱스를 설정합니다.
그것은 오직 SQL에서만 사용됩니다.
독특한
고유: bool = 거짓
테이블 열에 고유한 제약 조건을 설정합니다.
그것은 오직 SQL에서만 사용됩니다.
오버레이_pydantic_type
기본적으로 Ormar는 모델 생성에 적용되는 미리 정의된 Pydantic 필드 유형을 사용합니다(따라서 유형 힌트는 선택 사항).
원하는 경우 기본 제공 유형을 완전히 대체하는 자체 유형을 적용할 수 있습니다. 따라서 사용자로서 주어진 ormar 필드 유형의 맥락에서 유효한 유형을 제공하는 것은 귀하의 책임입니다.
경고: 기본적으로 기본 Pydantic 필드에 전달된 기본 제공 매개 변수를 사용해야 합니다.
1 | |
!!!위험합니다. 잘못된 유형의 피단틱 필드를 설정하면 모델이 손상될 수 있으므로 작업을 알고 있는 경우에만 덮어쓰십시오.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |