Django 模型中可用的隐式字段有哪些?

What are the implicit fields available in a Django model?

Django 为 models.py 中的所有模型提供了一个默认的 id 字段。是否有以相同方式提供的任何其他字段?我在哪里可以得到名单?

网上搜索没有帮助。

就数据库字段而言,只有id(与pk相同),但就class字段而言,所有模型都将继承Model class,你可以在 django's source code on GitHub. Another quick way to know them is to run a django shell and check what the dir 函数上阅读它的代码给你:

>>> from django.db import models
>>>
>>> class M(models.Model):
>>>     pass
>>>
>>> m = M()
>>> dir(m)

['DoesNotExist', 'MultipleObjectsReturned', '__class__', '__delattr__', '__dict__',
'__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__',
'__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__',
'__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__',
'__str__', '__subclasshook__', '__weakref__', '_base_manager', '_check_column_name_clashes',
'_check_field_name_clashes', '_check_fields', '_check_id_field', '_check_index_together',
'_check_local_fields', '_check_m2m_through_same_relationship', '_check_managers', '_check_model',
'_check_ordering', '_check_swappable', '_check_unique_together', '_default_manager',
'_deferred', '_do_insert', '_do_update', '_get_FIELD_display', '_get_next_or_previous_by_FIELD',
'_get_next_or_previous_in_order', '_get_pk_val', '_get_unique_checks', '_meta',
'_perform_date_checks', '_perform_unique_checks', '_save_parents', '_save_table',
'_set_pk_val', '_state', 'check', 'clean', 'clean_fields', 'date_error_message',
'delete', 'full_clean', 'id', 'objects', 'pk', 'prepare_database_save', 'save',
'save_base', 'serializable_value', 'unique_error_message', 'validate_unique']

请注意,这些是方法和字段。