간단한 모델 만들기
class Person(models.Model):
GENDER_CHOICES=(
(1,'남성'),
(2,'여성'),
)
name=models.CharField(max_length=30,unique=True,verbose_name='name')
birthday=models.DateField(blank=True,null=True)
성별=모델. IntegerField(choices=GENDER_CHOICES)
account=models.IntegerField(default=0)
blank
True로 설정하면 필드가 비어 있을 수 있습니다. False로 설정하면 해당 필드가 필수입니다. 문자 필드 CharField 및 TextField는 빈 문자열을 사용하여 null 값을 저장합니다.
null
이 True로 설정되면 django는 Null을 사용하여 빈 값을 저장합니다. 날짜, 시간 및 숫자 필드에는 빈 문자열이 허용되지 않습니다. 따라서 IntegerField 및 DateTimeField 필드를 공백으로 설정하는 경우 공백 및 null을 True로 설정해야 합니다.
BooleanField를 비워 두려면 NullBooleanField 유형 필드를 선택하면 됩니다.
max_length
CharField 유형 필드의 최대 길이를 설정합니다.
choices
choices는 필드로서 2-튜플의 시퀀스(리스트 또는 튜플)로 구성됩니다. 2-튜플의 첫 번째 요소는 데이터베이스에 저장되고, 두 번째 요소는 get_FOO_display 메소드를 통해 얻을 수 있습니다.
>>>p=Person(name='Sam',gender=1)
>>>p.save()
>>>p .gender
1
>>>p.get_gender_display()
u'Male'
옵션이 너무 많으면 ForiegnKey를 사용하는 것이 가장 좋습니다. .
기본값
필드의 기본값을 설정합니다.
기본값은 변경 가능한 객체(모델 인스턴스, 목록, 컬렉션 등)일 수 없으며, 동일한 인스턴스에 대한 참조로 해당 객체는 모든 새 모델 인스턴스에서 기본값으로 사용됩니다. 대신, 호출 가능한 객체에 원하는 기본값을 캡슐화하세요. 예를 들어 사용자 정의 JSONField가 있고 이를 기본 사전으로 지정하려면 다음과 같이 람다 식을 사용합니다.
contact_info = JSONField("ContactInfo", default=lambda:{"email": " to1@example.com"})
verbose_name
관리 인터페이스에서 이 필드의 표시 이름을 설정하세요.
unique
가 True로 설정되어 있습니다. 이 필드는 데이터베이스에서 고유해야 합니다.
>>>p=Person(name='Sam',gender=1)
>>>p.save()
>>>p =Person(name='Sam',gender=2)
>>>p.save()
IntergrityError: 열 이름이 고유하지 않습니다
PRimary_key
True로 설정하면 이 필드가 모델의 기본 키가 됩니다. 일반적인 상황에서 Django는 모델에 기본 키로 id라는 IntegerField를 자동으로 추가합니다.
위 내용은 Django 문서 - Model Field Options(FieldOptions) 내용입니다. 더 많은 관련 글은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요