Django的Model上都有些什么

Django的Model上都有些什么

modelinfo=
['DoesNotExist', 
'MultipleObjectsReturned', 
'__class__', 
'__delattr__', 
'__dict__', 
'__dir__', 
'__doc__', 
'__eq__', 
'__format__', 
'__ge__', 
'__getattribute__', 
'__gt__', 
'__hash__', 
'__init__', 
'__le__', 
'__lt__', 
'__module__', 
'__ne__', 
'__new__', 
'__reduce__', 
'__reduce_ex__', 
'__repr__', 
'__setattr__', 
'__setstate__', 
'__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_long_column_names', 
'_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', 
'adjustment_set', 
'check', 
'clean', 
'clean_fields', 
'date_error_message', 
'delete', 
'employee_in_charge', 
'employeeip_set', 
'from_db', 
'full_clean', 
'get_deferred_fields', 
'get_next_by_entry_date', 
'get_previous_by_entry_date', 
'objects', 
'pk', 
'prepare_database_save', 
'punch_set', 
'refresh_from_db', 
'save', 
'save_base', 
'serializable_value', 
'unique_error_message', 
'user', 
'validate_unique']

#_meta:
metadata=
['FORWARD_PROPERTIES', 
'REVERSE_PROPERTIES', 
'__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__', 
'_expire_cache', 
'_forward_fields_map', 
'_get_fields', 
'_get_fields_cache', 
'_map_model', 
'_map_model_details', 
'_ordering_clash', 
'_populate_directed_relation_graph', 
'_prepare', 
'_relation_tree', 
'abstract', 
'abstract_managers', 
'add_field', 
'app_config', 
'app_label', 
'apps', 
'auto_created', 
'auto_field', 
'can_migrate', 
'concrete_fields', 
'concrete_managers', 
'concrete_model', 
'contribute_to_class', 
'db_table', 
'db_tablespace', 
'default_permissions', 
'default_related_name', 
'fields', 
'fields_map', 
'get_all_field_names', 
'get_all_related_m2m_objects_with_model', 
'get_all_related_many_to_many_objects', 
'get_all_related_objects', 
'get_all_related_objects_with_model', 
'get_ancestor_link', 
'get_base_chain', 
'get_concrete_fields_with_model', 
'get_field', 
'get_field_by_name', 
'get_fields', 
'get_fields_with_model', 
'get_latest_by', 
'get_m2m_with_model', 
'get_parent_list', 
'has_auto_field', 
'index_together', 
'installed', 
'label', 
'label_lower', 
'local_concrete_fields', 
'local_fields', 
'local_many_to_many', 
'managed', 
'managers', 
'many_to_many', 
'model', 
'model_name', 
'object_name', 
'order_with_respect_to', 
'ordering', 
'original_attrs', 
'parents', 
'permissions', 
'pk', 
'proxied_children', 
'proxy', 
'proxy_for_model', 
'related_fkey_lookups', 
'related_objects', 
'required_db_features', 
'required_db_vendor', 
'select_on_save', 
'setup_pk', 
'setup_proxy', 
'swappable', 
'swapped', 
'unique_together', 
'verbose_name', 
'verbose_name_plural', 
'verbose_name_raw', 
'virtual_fields']

显示Model所有的列名,有两种方法:

  1. _meta.get_all_field_names() #removed in django 1.10
  2. _meta.get_fields()
from attendence.models import *
Employee._meta.get_all_field_names() #removed in django 1.10

result=
[
'employeeip', 
'first_name', 
'entry_date', 
'user_id', 
'adjustment', 
'last_name', 
'employee_in_charge', 
'user', 
'email', 
'punch'
]
Employee._meta.get_fields()
result=
(
    <ManyToOneRel: attendence.adjustment>, 
    <ManyToOneRel: attendence.employeeip>, 
    <ManyToOneRel: attendence.punch>, 
    <ManyToOneRel: attendence.item>, 
    <django.db.models.fields.related.OneToOneField: user>, 
    <django.db.models.fields.CharField: first_name>, 
    <django.db.models.fields.CharField: last_name>, 
    <django.db.models.fields.EmailField: email>, 
    <django.db.models.fields.DateTimeField: entry_date>
)
原文地址:https://www.cnblogs.com/wancy86/p/django_model.html