模型字段参考
字段选项
null
Field.null
如果为True,django会默认字段值为null,null默认为False。
注意空字符值会被存储为空字符而不是null。仅null=True 用于非字符类型字段,如整型,布尔,日期。如果你想允许form里空值还需要设置 blank=True, null 只和数据库存储有关。
blank
Field.blank
如果为True,字段值可以为空白,默认是False
choices
Field.choices
一个跌送的元组列表,用作一个选择字段。
如果提供值,django管理工具会用select来替代文本字段。
选择列表如下:
YEAR_IN_SCHOOL_CHOICES = (
('FR', 'Freshman'),
('SO', 'Sophomore'),
('JR', 'Junior'),
('SR', 'Senior'),
('GR', 'Graduate'),
)
元组的第一个元素会被存储,第二个是可读的选项名。
选择列表可如下同模型定义到一起
class Foo(models.Model):
GENDER_CHOICES = (
('M', 'Male'),
('F', 'Female'),
)
gender = models.CharField(max_length=1, choices=GENDER_CHOICES)
也可定义到模型外部
GENDER_CHOICES = (
('M', 'Male'),
('F', 'Female'),
)
class Foo(models.Model):
gender = models.CharField(max_length=1, choices=GENDER_CHOICES)
还可以按组定义
MEDIA_CHOICES = (
('Audio', (
('vinyl', 'Vinyl'),
('cd', 'CD'),
)
),
('Video', (
('vhs', 'VHS Tape'),
('dvd', 'DVD'),
)
),
('unknown', 'Unknown'),
)
db_column
Field.db_column
数据库表列名,如果没有提供,默认使用字段名。
db_index
Field.db_index
如果为True,django-admin.py sqlindexes <sqlindexes> 将会创建索引。
db_tablespace
Field.db_tablespace
设置表的命名空间
default
Field.db_tablespace
设置字段默认值
editable
Field.editable
设置字段的可编辑性,默认为True
help_text
Field.help_text
设置字段的说明文字。
primary_key
Field.primary_key
如果为True,这个字段会被设置为主键。
unique
Field.unique
如果为True,这个字段值会被约束为唯一不重复。
unique_for_date
Field.unique_for_date
设置到一个DateField 或 DateTimeField 字段名,两个字段值会被约束唯一。
例如 title 字段设置has unique_for_date="pub_date",那么django就不允许有两条title和pub_date值同时相等的记录。
unique_for_month
Field.unique_for_month
如unique_for_date,只是约束月份
unique_for_year
Field.unique_for_year
如unique_for_date,只是约束年份
字段类型
AutoField
class AutoField(**options)
一个自动递增的整型字段,会被默认设置为primary key,如果你没有提供值,它会自动增加。
BooleanField
class BooleanField(**options)
布尔字段,管理工具里会自动将其描述为checkbox。
CharField
class CharField(max_length=None[, **options])
字符字段,CharField有一个必填参数,CharField. max_length,字符的最大长度,django会根据这个参数校验。
CommaSeparatedIntegerField
class CommaSeparatedIntegerField(max_length=None[, **options])
一个用逗号分割整数的字段,和charfield基本属性类似。
DateField
class DateField([auto_now=False, auto_now_add=False, **options])
日期字段 有几个参数
DateField. auto_now 自动更新为当前时间,每次对模型中的字段修改,这个字段都会自动更新问当前世嘉相当于lastmodify时间印章
DateField. auto_now_add 模型保存的时候,如果为指定指端值,会默认为当前时间。
DateTimeField
class DateTimeField([auto_now=False, auto_now_add=False, **options])
日期时间字段,参数类似 DateField
DecimalField
New in Django 1.0.
<!---->class DecimalField (max_digits=None , decimal_places=None [ , **options ] )
小数字段,需要两个参数:DecimalField. max_digits 最大位数
<!---->DecimalField. decimal_places 小数位数
EmailField
<!---->class EmailField ([ max_length=75 , **options ] )
电子邮件字段,会校验电子邮件输入格式的有效性。
FileField
<!---->class FileField (upload_to=None [ , max_length=100 , **options ] )
文件上传字段,有个必填字段FileField. upload_to 文件的存储路径
FileField. storage New in Django 1.0 文件临时保存路径
FilePathField
class FilePathField(path=None[, match=None, recursive=False, max_length=100, **options])
选择指定目录按限制规则选择文件,有几个参数:
FilePathField.path 指定绝对路径
FilePathField.match 匹配规则
FilePathField.recursive 是否包含子目录
FilePathField(path="/home/images", match="foo.*", recursive=True)
FloatField
class FloatField([**options])
浮点型字段
ImageField
class ImageField(upload_to=None[, height_field=None, width_field=None, max_length=100, **options])
图像字段
ImageField.height_field 通过模型的其他字段指定图像高。
ImageField.width_field 通过模型的其他字段指定图宽。
IntegerField
class IntegerField([**options])
整型字段
IPAddressField
class IPAddressField([**options])
IP类型字段
NullBooleanField
class NullBooleanField([**options])
类似BooleanField,但是允许为null。
PositiveIntegerField
class PositiveIntegerField([**options])
正整数字段
PositiveSmallIntegerField
class PositiveSmallIntegerField([**options])
正小整型字段
SlugField
class SlugField([max_length=50, **options])
是一个报纸术语. slug 是某个东西的小小标记(短签), 只包含字母,数字,下划线和连字符.它们通常用于URLs
SmallIntegerField
class SmallIntegerField([**options])
小整型字段
TextField
class TextField([**options])
文本字段,管理工具会描述为textarea
TimeField
class TimeField([auto_now=False, auto_now_add=False, **options])
时间字段
URLField
class URLField([verify_exists=True, max_length=200, **options])
URL 字段
URLField.verify_exists 验证地址是否有效
XMLField
class XMLField(schema_path=None[, **options])
XML字符字段
schema_path 用来校验文本的 RelaxNG_ schema 的文件系统路径
ForeignKey
class ForeignKey(othermodel[, **options])
多对一关系字段,需要定位到一个模型,如果是自身递归关系models.ForeignKey('self').
class Car(models.Model):
manufacturer = models.ForeignKey('Manufacturer')
# ...
class Manufacturer(models.Model):
# ...
ForeignKey.limit_choices_to 限制关联的条件
limit_choices_to = {'pub_date__lte': datetime.now}
ForeignKey.related_name 关联字段名
ForeignKey.to_field 关联目标字段
ManyToManyField
<!---->class ManyToManyField(othermodel[, **options])
多对多字段
ManyToManyField.related_name 关联字段名
ManyToManyFields.limit_choices_to 限制关联的条件
ManyToManyFields.symmetrical 用于自己对自己的多对多
ManyToManyFields.through 使用中间模型
ManyToManyField.db_table 多对多关系表
OneToOneField
<!---->class OneToOneField(othermodel[, parent_link=False, **options])
一对一字段
OneToOneField.parent_link 父级链接
分享到:
相关推荐
**Django 1.0 文档概述** Django 1.0 是一个强大的开源 Web 开发框架,基于 Python 语言,旨在使 web 应用程序的创建变得快速、简单且实用。这个“django1.0文档”是官方提供的详尽指南,包含了关于 Django 1.0 的...
《Django 1.0 中文文档》是一个详尽的指南,主要针对初学者,旨在帮助读者快速掌握Django框架的基础知识。在这个文档中,首先介绍了如何编写你的第一个Django程序,通过创建一个简单的投票应用来引导学习者逐步了解...
然后在你的Django项目中导入并配置这个库,根据提供的文档或示例代码进行相应的设置,最后在视图(views.py)和模板(templates)中应用这些配置。 总的来说,`django-tables2-column-shifter`是Python和Django...
一旦安装完成,我们可以在Django项目的settings.py文件中将django-taggit-serializer添加到INSTALLED_APPS列表中,然后在模型中使用taggit提供的TagField或GenericTaggedItemBase来定义标签字段。例如: ```python ...
项目概述:django-lb-workflow 是一个基于Python的高效易用Django流程引擎源码,旨在轻松集成至现有系统。该项目主要由68个Python文件、30个HTML文件以及其他相关文件构成,共计136个文件。其中还包括了HTML模板、...
django-python3-ldap, python 3的Django LDAP用户身份验证后端 django-python3-ldapdjango-python3-ldap 为 python 2和 3提供了一个 Django LDAP用户身份验证后端。特性使用LDAP服务器验证用户身份。将LDAP用户与...
标题"Python库 | django_admin_multilang-1.0-py3-none-any.whl"提到了一个Python库,名为`django_admin_multilang`,版本为1.0,它是一个适用于Python 3的软件包。`.whl`文件是一种预编译的Python轮子(wheel)包...
1. **自动绑定**:`django-select2-forms` 能自动将 Select2 绑定到 Django 表单的字段上,无需编写额外的 JavaScript 或 CSS 代码。 2. **数据加载**:支持动态加载数据,这对于处理大型或远程数据集非常有用,...
《PyPI官网下载:Files.com-1.0.468-py3-none-any.whl——Python后端开发的关键资源》 在Python的世界里,PyPI(Python Package Index)是开发者们的重要宝库,它提供了丰富的第三方库和模块,极大地扩展了Python的...
资源分类:Python库 所属语言:Python 资源全名:djangocms_algolia-1.3.1.0-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
为支持django3对django_cas_ng进行修改 **Features** - Support CAS version 1.0, 2.0, 3.0 - Support Single Sign Out - Configuration of services via the django Admin application - Fine control on ...
"bridgecrew-1.0.365-py3-none-any.whl"是一个针对Python的库,它封装了特定的功能,以便开发者能够更方便地在他们的项目中实现这些功能。这个文件是Python的whl(wheel)格式,它是Python的二进制分发包,用于简化...
1、基于Django+Django -Rest-Framework+Python的在线考试系统后端(源码).zip 2、该资源包括项目的全部源码,下载可以直接使用! 3、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目...
django-vue3-admin 基于RBAC模型的权限控制的一整套基础开发平台,权限粒度达到列级别,前后端分离,后端采用django + django-rest-framework,前端采用基于 vue3 + CompositionAPI + typescript + vite + ele
django-classy-tags, 基于类的Django 模板标记 django-classy-tags请参考文档/目录中的文档以获得帮助。 有关HTML呈现版本的信息,请参见这里的 。 这里项目这个项目的目标是创建一种新的编写 Django 模板标签的方法...
"cloud_governance-1.0.100-py3-none-any.whl" 是一个Python库的分发包,它遵循Python的wheel格式。在Python的生态系统中,wheel是一种预编译的二进制包格式,旨在简化安装过程,避免用户在安装时需要编译源代码。这...
其对应的安装文件名为`bqpackage-1.0.97-py3-none-any.whl`,这是一个适用于Python 3环境的whl格式文件,意味着它可以无缝安装在任何架构上的Python 3环境中。 **whl文件和Python包管理** `.whl`文件是Python的二...
此标题表明文档旨在为用户提供Django 1.0版本中的快速查询指南,帮助开发者更快地查阅并应用框架的功能。 #### 描述:Django 1.0 速查手册 描述部分简短重申了标题的内容,强调这是一份针对Django 1.0版本的速查...
安装完成后,在Django项目的`settings.py`中添加`django_restql`到`INSTALLED_APPS`列表,并按照官方文档或示例代码配置和使用该库。 **应用场景** `django_restql`适用于那些需要高效、灵活的API查询接口的项目,...