Field attribute reference
모든 Field 인스턴스는 행동을 introspection이 가능한 여러 개의 속성을 포함한다. 필드의 기능에 따라 작성되야할 코드가 있을 때 isinstance 체크 대신에 introspection 속성들을 사용해라. 이러한 속성들을 Model._meta API를 함께 사용해 특정 필트 유형의 검색 범위를 좁힐 수 있다.
Field.auto_created
모델 상속에 사용되는 OneToOneField 같이 이 필드가 자동으로 생성되었음을 나타내는 Boolean 플래그다.
Field.concreate
이 필드가 연결된 데이터베이스 칼럼이 있음을 나타내는 Boolean 플래그다.
Field.hidden
이 필드가 뒤에서 다른 non-hidden 필드의 기능으로 사용됨을 나타내는 Boolean 플래그다 (예. GenericForeignKey를 구성하는 content_type과 object_id 필드). 모델에 공개된 부분과 모든 필드를 구분하기 위해 hidden 플래그를 사용된다.
Options.get_fields()는 기본적으로 hidden 필드를 제외한다. 결과에 hidden 필드를 반환하기 위해서는 include_hidden=True를 전달해라.
Field.is_relation
필드가 기능을 위해 하나 이상의 다른 모델의 참조를 포함하고 있음을 나타내는 Boolean 플래그다 (예, ForeignKey, ManyToManyField, OneToOneField, 기타 등등).
Field.model
이 필드가 정의된 모델을 반환한다. 모델의 superclass에 필드가 정의되어 있다면, model은 인스턴스의 클래스가 아닌 superclass를 제공한다.
이 속성들은 카디널리티와 관계의 기타 세부사항을 쿼리 하는 데 사용된다. 이 속성들은 모든 필드에 있지만, 필드가 관계 유형 (Field.is_relation=True) 일 경우에만 boolean (None이 아닌) 값을 갖는다.
Field.many_to_many
필드가 다대다 관계일 때 True고 아닌 경우 False인 Boolen 플래그다. Django에서 True값인 유일한 필드는 ManyToManyField이다.
Field.many_to_one
ForeignKey 같이 필드가 다대일 관계일 때 True이고 아닐 경우 False인 Boolean 플래그다.
Field.one_to_many
GenericRelation 이거나 ForeignKey의 역참조일 때처럼 필드가 일대다 관계일 때 True이고 아닐 경우 False인 Boolean 플래그다.
Field.one_to_one
OneToOneField같이 필드가 일대일 관계일 때 True이고 아닐 경우 False인 Boolean 플래그다.