Django 之 model 与 forms 字段类型

Django 是通过 models 与数据库相对应的,一般来说,每个模型映射到单个数据库中的一个表。该模型是单一的、明确的、 与你的数据有关的数据源。它包含了你所以存储的数据的基本字段和行为。

每一个模型都是 django.db.models.Model 的子类。
模型的每一个属性都对应数据库的一个字段。
Django 会自动为我们产生 database-access API。

例如:from django.db import models
                
               class User(models.Model):
                           name = models.CharField(max_length=50)
                           .......

Models 中的字段
1) AutoField(**options)      # int 自增字段
      如果不指定主键,系统会自动添加一个主键字段到你的 model

2) BigIntegerField([**options])

3) BooleanField(**options)      # boolean 或 bit
      admin 中会自动将其描述为 

4) CharField(max_length=None[, **options])      # varchar
      CharField.max_length:字段长度的最大值,必填,Django 会根据这个喜爱数据库层和校验层限制该字段所允许的最大字符数。
       admin 中会自动将其描述为 

5) CommaSeparatedIntegerField(max_length=None[, **options])     # varchar
    存放逗号分隔的数值。

6) DateField([auto_now=False, auto_now_add=False, **options])      # date
      DateField.auto_now:保存时自动设置该字段为现在日期,最后修改日期
      DateField.auto_now_add:当该对象第一次被创建是自动设置该字段为现在日期,创建日期
      admin  中会自动将其描述为 ,附带一个 javascript 日历和一个 “Today” 快捷键。

7) DateTimeField([auto_now=False, auto_now_add=False, **options])
      DateTimeField.auto_now、DateTimeField.auto_now_add:同 DateField 一样
      admin 中支持同 DateField 一样的附加选项。

8) DecimalField(max_digits=None, decimal_places=None[, **options])      # decimal
      DecimalField.max_digits:数字中允许的最大位数
      DecimalField.decimal_places:存储的十进制位数

9) EmailField([max_length=75, **options])      # varchar
    一个带有检查 Email 合法性的 CharField

10) FileField(upload_to=None[, max_length=100, ** options])     # varchar
      FileField.upload_to:一个用于保存上载文件的本地文件系统路径,该路径由 MEDIA_ROOT 中设置的 url 中
      
11) FilePathField(path=None[, math=None, recursive=False, max_length=100, **options])      # varchar
      FilePathField.path:文件的绝对路径,必填
      FilePathField.match:用于过滤路径下文件名的正则表达式,该表达式将 用在文件名上(不包括路径)。
      FilePathField.recursive:True 或 False,默认为 False, 指定 是否 应包括 所有子目录 路径。
      例如: FilePathField ( path = "/home/images" ,  match = "foo.*" ,  recursive = True )
                       将匹配“/home/images/foo.gif”但不匹配“/home/images/foo/bar.gif”

12) FloatField([**options])      # float

13) ImageField(upload_to=None[, height_field=None, width_field=None, max_length=100, **options])      # varchar
      ImageField.height_field、ImageField.width_field:如果提供这两个参数,则图片将按提供的高度和宽度规格保存。 该字段要求 Python Imaging 库。
      会检查上传的对象是否是一个合法图片。

14) IntegerField([**options])      # int
      保存整数

15) IPAdressField([**options])      # varchar
    一个字符串形式的 IP 地址

16) NullBooleanField([**options])     # bit 可以设置上 null 值
    admin 用一个选择框
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值