Models#2-Field中的参数
2017-09-18 本文已影响0人
wangfp
- 通用参数
- null
- blank
- choices
- db_column
- db_index
- db_tablespace
- default
- editable:如果为False,则该列不会再管理界面或者数据表单中显示(默认为True)
- error_messages:其对象是一个字典,用于重载默认的错误信息(该字典的键包括:null, blank, invalid, invalid_chice, unique, unique_for_date)
- helfp_text:用于数据模型的表单中提供额外的信息(信息中可以使用HTML标签)
- primary_key
- unique
- unique_for_date/unique_for_month/unique_for_year
- verbose_name:位置参数
- CharField(max_length=None, **options) 参数
- max_length
- DateField(auto_now=False, auto_now_add=False, **options) 参数
- auto_now:若为True,则在每次保存(save)时,自动更新为当前时间
- auto_add_now:若为True,则在对象创建时自动添加当前的时间
- FileField(upload_to=None, max_length=100, **options) 参数
- upload_to:指定文件更新目录,默认为settings.py中的'MEDIA_ROOT';其对象也可以是一个返回路径的函数
- ImageField(upload_to=None, height_field=None, width_field=None, max_length=100, **options)
- ForeighKey(to, on_delete, **options)
- to:关联对象
- on_delete:一般设置为on_delete=CASCADE
- limit_choices_to:
- related_name:用于指定被关联数据表反向使用该表时的名称(默认为default_related_name=<model_name>_set)
- related_query_name:用于被关联数据表反向进行filter()查询时(默认为related_name或者default_related_name)
class Tag(models.Model): article = models.ForeignKey( Article, on_delete=models.CASCADE, related_name="tags", related_query_name="tag", ) name = models.CharField(max_length=255) # That's now the name of the reverse filter # 尽管Article表中没有关于Tag表的列,但亦可以进行反向查询 Article.objects.filter(tag__name="important")
- to_field
- db_constraint
- swappable
Meta中的选项
- abstract
- app_label:设置应用名称(当一个model不在INSTALLED_APPS中的任何一个应用中时)
- db_table:设置表的名称
- db_tablespace
- default_manager_name
- default_related_name:默认为<model_name>_set
- get_latest_by:用于DateField、DateTimeField或者IntegerField属性的排序,以获得最新的对象
- order_with_respect_to
- ordering:指定默认的排序方式
- permissions
- default_permissions
- proxy
- required_db_features
- required_db_vendor
- select_on_save
- indexes
- unique_together:组合属性必须唯一
- index_together
- verbose_name
- verbose_name_plural
- label(只读属性):返回'app_label.object_name'