Django Model 类

Django Model 类

方法

check()                         用于检查模型的字段是否存在问题。
clean()                         用于清理模型实例的数据,确保数据符合模型字段的规范。
clean_fields()                  清理模型字段,确保所有字段都符合其验证要求。
get_constraints()               获取模型字段上的约束。
get_deferred_fields()           获取延迟加载的字段。
full_clean()                    调用clean_fields,clean和validate_unique以确保模型实例的数据是合法的。
delete()                        从数据库中删除模型实例。
refresh_from_db()               从数据库中重新加载模型实例的值。
save()                          将模型实例保存到数据库。
save_base()                     用于保存模型的基础方法。
serializable_value()            获取字段的序列化值。
validate_constraints()          验证模型字段上的约束。
validate_unique()               验证模型实例的唯一性约束。

属性

date_error_message              获取或设置日期字段的错误消息。
from_db                         表示模型实例是否是从数据库中获取的。
id                              通常用于存储数据库的主键。
objects                         是Django ORM的Manager,用于与数据库进行交互,如查询、创建对象等。
pk                              表示模型的主键,通常与id相同。
prepare_database_save           准备模型保存到数据库。
unique_error_message            获取或设置唯一性约束错误的消息。

异常

DoesNotExist                    当尝试获取不存在的对象时抛出。
MultipleObjectsReturned         当查询返回多个对象时抛出。

特殊 List[Models] <绑定的外键名>_set

*_set[*]                        返回与此模型实例关联的Choice对象的集合。

get_next_by_*()          		获取按 * 排序的下一个对象。
get_previous_*()      			获取按 * 排序的前一个对象。

魔术方法

__class__                       返回实例所属的类。
__delattr__                     用于删除属性。当使用 del 关键字删除属性时调用。
__dict__                        返回对象的属性和属性值的字典。
__dir__                         用于列出对象的所有属性和方法。
__doc__                         返回对象的文档字符串。
__eq__                          定义等于比较运算符(==)的行为。
__format__                      定义对象的格式化字符串表示。
__ge__                          定义大于等于比较运算符(>=)的行为。
__getattribute__                在访问属性时调用,用于自定义属性访问逻辑。
__getstate__                    在对象被pickle序列化时调用,用于自定义序列化过程。
__gt__                          定义大于比较运算符(>)的行为。
__hash__                        定义对象的哈希值。
__init__                        初始化对象时调用,用于设置对象的初始状态。
__init_subclass__               当子类被创建时调用。
__le__                          定义小于等于比较运算符(<=)的行为。
__lt__                          定义小于比较运算符(<)的行为。
__module__                      返回定义对象的模块名称。
__ne__                          定义不等于比较运算符(!=)的行为。
__new__                         在创建类的新实例时调用。
__reduce__                      用于自定义对象的pickle序列化过程。
__reduce_ex__                   用于自定义对象的pickle序列化过程,提供更多的灵活性。
__repr__                        定义对象的官方字符串表示。
__setattr__                     在尝试设置属性值时调用。
__setstate__                    在对象被pickle反序列化时调用,用于自定义反序列化过程。
__sizeof__                      返回对象的大小(以字节为单位)。
__str__                         定义对象的字符串表示,用于 print() 和 str() 函数。
__subclasshook__                在判断一个类是否是该类的子类时调用。
__weakref__                     用于支持对象的弱引用。

内部方法(不常用)

_check_column_name_clashes                              检查模型中是否有字段名与数据库列名冲突。
_check_constraints                                      检查模型字段上的约束。
_check_default_pk                                       检查模型的主键字段是否有默认值。
_check_field_name_clashes                               检查模型中是否有字段名冲突。
_check_fields                                           检查模型字段的合法性。
_check_id_field                                         检查模型是否有名为 id 的字段。
_check_index_together                                   检查模型的 index_together 设置是否合法。
_check_indexes                                          检查模型索引的合法性。
_check_local_fields                                     检查模型的本地字段。
_check_long_column_names                                检查模型字段名是否超过数据库列名的长度限制。
_check_m2m_through_same_relationship                    检查多对多关系是否正确设置。
_check_managers                                         检查模型管理器的合法性。
_check_model                                            检查模型的合法性。
_check_model_name_db_lookup_clashes                     检查模型名是否与数据库查询关键字冲突。
_check_ordering                                         检查模型的排序设置是否合法。
_check_property_name_related_field_accessor_clashes     检查模型属性名是否与相关字段访问器冲突。
_check_single_primary_key                               确保模型只有一个主键。
_check_swappable                                        检查模型是否可以与其他模型交换。
_check_unique_together                                  检查模型的 unique_together 设置是否合法。
_do_insert                                              执行模型的数据库插入操作。
_do_update                                              执行模型的数据库更新操作。
_get_FIELD_display                                      获取模型字段的显示值。
_get_expr_references                                    获取表达式引用的字段。
_get_field_value_map                                    获取字段值映射。
_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                                  执行唯一性检查。
_prepare_related_fields_for_save                        准备保存相关字段。
_save_parents                                           保存模型的父类。
_save_table                                             保存模型到数据库表。
_set_pk_val                                             设置模型的主键值。
_state                                                  返回模型的内部状态管理对象。
LICENSED UNDER CC BY-NC-SA 4.0
Comment