django官方文档详解
  • 编写属于自己的第一个网站
  • 模型与字段类型
  • 关系类型数据字段
  • 模型参数统计说明
模型与字段类型
Web开发 . 2019/12/02发布 . shanyonggang_web . 我要评论 . 315阅读

前言

在Django中model是你数据的单一、明确的信息来源。它包含了你存储的数据的重要字段和行为。

  • 一个模型(model)映射到一个数据库表.每个模型都是一个Python类
  • 它是django.db.models.Model的子类
  • 模型的每个属性都代表一个数据库字段。
  • Django为您提供了一个自动生成的数据库访问API。

模型示例

from django.db import models

# Create your models here.
class People(models.Model):

    choice = [
        ('bj', '北京'),
        ('sh', '上海'),
        ('gz', '广州'),
    ]

    name = models.CharField(max_length=100, blank=True, verbose_name='人名')
    address = models.CharField(max_length=100, choices=choice, verbose_name='住址')

    class Meta:
        verbose_name = '用户信息'

    def __str__(self):
        return self.name

字段命名注意事项:

  • 禁止与python关键字冲突
  • 字段名中禁止出现__两个下划线,两个下划线为查询功能

注意:每次更新完修改完模型后记得运行:

python manage.py makemigrations
python manage.py migrate

数据字段类型

数据字段类型决定了数据在数据库中的数据类型,Django内置了许多字段类型,它们都位于django.db.models中。这些类型基本满足需求,如果还不够,你也可以自定义字段。

下面列出了django内置的数据类型,主要列出常用的,其余的查看官方文档

django内置模型数据类型
序号 数据类型 说明
1

AutoField

不需要直接使用它;如果没有另外指定,

主键字段将自动添加到模型中

2

BigAutoField

一个64位整数,它可以匹配从1到的数字9223372036854775807
3

BigIntegerField

一个64位整数,非常类似于,IntegerField不同之处在于它保证可以匹配从-9223372036854775808到的 数字9223372036854775807
4

BinaryField

一个用于存储原始二进制数据的字段。
5

BooleanField

一个布尔类型的数据字段<input type="checkbox"><input type="radio">

6

CharField

字符串字段,从小到大的字符串。对于大量文本,请使用TextField。必须参数:max_length

7

DateField

日期、DateFieldauto_now = Falseauto_now_add = False** options

8

DateTimeField

日期和时间
9

EmailField

邮件类型
10

FileField

文件类型,FileFieldupload_to = Nonemax_length = 100** options
11

FloatField

浮点数
12

ImageField

图片类型,ImageFieldupload_to = Noneheight_field = Nonewidth_field = Nonemax_length = 100** options
13

IntegerField

整型数据,从-2147483648到的值2147483647
14

TextField

大文本字段
15

URLField

url数据

 


  • 有疑问请在下方评论区留言,我会尽快回复。
  • Email私信我: 511248513@qq.com 或添加博主 微信
本文标题:模型与字段类型
本文作者:shanyonggang_web
发布时间:2019年12月2日 17:14
许可协议: 署名-非商业性使用 4.0 国际许可协议
知识共享许可协议     转载请保留原文链接及作者
正在加载今日诗词....
您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击下面的


登录 后回复

当前暂无评论,点击登录来做第一个吃螃蟹的人吧!