zoukankan      html  css  js  c++  java
  • Django models模型(1)

    1)使用模型需要在INSTALLED_APPS中注册

    2)模型字段(字段类型和字段选项)

    1.字段类型

    常用:

    CharField,TextField: 对应字符串对象

    DateTimeField和DateField和TimeField存储的内容分别对应着datetime(),date(),time()三个对象。

     对于auto_now=False和auto_now_add=False,两者默认值都为False。

      auto_now=Ture,字段保存时会自动保存当前时间,但要注意每次对其实例执行save()的时候都会将当前时间保存,也就是不能再手动给它存非当前时间的值。
        auto_now_add=True,字段在实例第一次保存的时候会保存当前时间,不管你在这里是否对其赋值。但是之后的save()是可以手动赋值的。也就是新实例化一个model,想手动存其他时间,就需要对该实例save()之后赋值然后再save()。

    一个模型最重要也是唯一必需的部分,是它定义的数据库字段。

    字段名称限制:

    1.一个字段名不能是一个Python保留字,因为那样会导致一个Python语法错误。

    2.一个字段名不能包含连续的一个以上的下划线,因为那是Django查询语句的语法。

    字段列表纵览表

    字段名

    参数

    意义

    AutoField

    一个能够根据可用ID自增的 IntegerField

    BooleanField

    一个真/假(true/false)字段

    CharField

     (max_length)

    一个字符串字段,适用于中小长度的字符串。对于长段的文字,请使用 TextField

    CommaSeparatedIntegerField

     (max_length)

    一个用逗号分隔开的整数字段

    DateField

    ([auto_now], [auto_now_add])

    日期字段

    DateTimeField

    时间日期字段,接受跟 DateField 一样的额外选项

    EmailField

    一个能检查值是否是有效的电子邮件地址的 CharField

    FileField

    (upload_to)

    一个文件上传字段

    FilePathField

    (path,[match],[recursive])

    一个拥有若干可选项的字段,选项被限定为文件系统中某个目录下的文件名

    FloatField

    (max_digits,decimal_places)

    一个浮点数,对应Python中的 float 实例

    ImageField

    (upload_to, [height_field] ,[width_field])

    像 FileField 一样,只不过要验证上传的对象是一个有效的图片。

    IntegerField

    一个整数。

    IPAddressField

    一个IP地址,以字符串格式表示(例如: "24.124.1.30" )。

    NullBooleanField

    就像一个 BooleanField ,但它支持 None /Null 。

    PhoneNumberField

    它是一个 CharField ,并且会检查值是否是一个合法的美式电话格式

    PositiveIntegerField

    和 IntegerField 类似,但必须是正值。

    PositiveSmallIntegerField

    与 PositiveIntegerField 类似,但只允许小于一定值的值,最大值取决于数据库.

    SlugField

     嵌条 就是一段内容的简短标签,这段内容只能包含字母、数字、下

    划线或连字符。通常用于URL中

    SmallIntegerField

    和 IntegerField 类似,但是只允许在一个数据库相关的范围内的数值(通常是-32,768到

    +32,767)

    TextField

    一个不限长度的文字字段

    TimeField

    时分秒的时间显示。它接受的可指定参数与 DateField 和 DateTimeField 相同。

    URLField

    用来存储URL的字段。

    USStateField

    美国州名称缩写,两个字母。

    XMLField

    (schema_path)

    它就是一个 TextField ,只不过要检查值是匹配指定schema的合法XML。

    通用字段参数列表(所有的字段类型都可以使用下面的参数,所有的都是可选的。)

    参数名

    意义

    null

    如果设置为 True 的话,Django将在数据库中存储空值为 NULL 。默认为 False 。

    blank

    如果是 True ,该字段允许留空,默认为 False 。

    choices

    一个包含双元素元组的可迭代的对象,用于给字段提供选项。

    db_column

    当前字段在数据库中对应的列的名字。

    db_index

    如果为 True ,Django会在创建表格(比如运行 manage.py syncdb )时对这一列创建数据库索引。

    default

    字段的默认值

    editable

    如果为 False ,这个字段在管理界面或表单里将不能编辑。默认为 True 。

    help_text

    在管理界面表单对象里显示在字段下面的额外帮助文本。

    primary_key

    如果为 True ,这个字段就会成为模型的主键。

    radio_admin

    默认地,对于 ForeignKey 或者拥有 choices 设置的字段,Django管理界面会使用列表选择框(<select>)。如果 radio_admin 设置为 True 的话,Django就会使用单选按钮界面。

    unique

    如果是 True ,这个字段的值在整个表中必须是唯一的。

    unique_for_date

    把它的值设成一个 DataField 或者 DateTimeField 的字段的名称,可以确保字段在这个日期内不会出现重复值。

    unique_for_month

    和 unique_for_date 类似,只是要求字段在指定字段的月份内唯一。

    unique_for_year

    和 unique_for_date 及 unique_for_month 类似,只是时间范围变成了一年。

    verbose_name

    除 ForeignKey 、 ManyToManyField 和 OneToOneField 之外的字段都接受一个详细名称作为第一个位置参数。

  • 相关阅读:
    工作常用mysql命令以及函数
    mybati 字段映射
    关于idea切换账号,上传的代码依旧是之前账号提交/操作git
    java 开发过程中常用
    简单了解微服务
    zookeeper 学习(二) java操作zookeeper
    zookeeper 学习(一) 初识zookeeper
    漫画:我们为何结婚,又为何不忠?
    适用 selenium 自动化的十大测试场景
    女朋友买房了,我我我....
  • 原文地址:https://www.cnblogs.com/icat-510/p/9115486.html
Copyright © 2011-2022 走看看