2024年Go最新Django5—数据库之模型字段_模型块字段(2),2024年来看看Golang的发展

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

| models.CharField | 字符串字段 | 用于从数据库层和Django校验层限制该字段所允许的最大字符数。必须 max_length 参数 |
| models.BooleanField | 布尔类型 tinyint(1) | 不能为空,Blank=True |
| models.ComaSeparatedIntegerField | 用逗号分割的数字 varchar | 继承CharField,所以必须 max_length 参数 |
| models.DateField | 日期类型 date | 对于参数,auto_now = True 则每次更新都会更新这个时间;auto_now_add 则只是第一次创建添加,之后的更新不再改变。 |
| models.DateTimeField | 日期类型 datetime | 同DateField的参数 |
| models.Decimal | 十进制小数类型 decimal | 必须指定整数位max_digits 小数位decimal_places |
| models.EmailField | 字符串类型(正则表达式邮箱) varchar | 对字符串进行正则表达式 |
| models.DecimalField | 浮点类型 double | #一个浮点数. 必须 提供两个参数: 参数描述 #max_digits 总位数(不包括小数点和符号 ) #decimal_places 小数位数 #举例来说, 要保存最大值为 999 (小数点后保存2位),你要这样定义字段:#models.FloatField(…, max_digits=5, decimal_places=2)#要保存最大值一百万(小数点后保存10位)的话,你要这样定义:#models.FloatField(…, max_digits=19, decimal_places=10)#admin 用一个文本框()表示该字段保存的数据. |
| models.IntegerField | 整形 | |
| models.BigIntegerField | 长整形 | |
| models.GenericIPAddressField | 字符串类型 | 参数protocol可以是:both、ipv4、ipv6 验证时,会根据设置报错 |
| models.NullBooleanField | 允许为空的布尔类型 | |
| models.PositiveIntegerFiel | 正Integer | |
| models.PositiveSmallIntegerField | 正smallInteger | |
| models.SlugField | 减号、下划线、字母、数字 | |
| models.SmallIntegerField | 数字 | 数据库中的字段有:tinyint、smallint、int、bigint |
| models.TextField | 字符串 longtext | |
| models.TimeField | 时间 HH:MM[:ss[.uuuuuu]] | |
| models.URLField | 字符串,地址正则表达式 | |
| models.BinaryField | 二进制 | |
| models.ImageField | 图片 | |
| models.FilePathField | 文件 | |

一个文件或者图片上传字段.

  • 要求一个必须有的参数: upload_to, 一个用于保存上载文件的本地文件系统路径. 这个路径必须包含 strftime #formatting,
  • 该格式将被上载文件的 date/time
  • 替换(so that uploaded files don’t fill up the given directory).
  • admin 用一个部件表示该字段保存的数据(一个文件上传部件) .
#注意:在一个 model 中使用 FileField 或 ImageField 需要以下步骤:
(1)在你的 settings 文件中, 定义一个完整路径给 MEDIA_ROOT 以便让 Django在此处保存上传文件. 
(出于性能考虑,这些文件并不保存到数据库.) 定义MEDIA_URL 作为该目录的公共 URL. 要确保该目录对 WEB服务器用户帐号是可写的.
(2) 在你的 model 中添加 FileField 或 ImageField, 并确保定义了 upload_to 选项,以告诉 Django使用 
MEDIA_ROOT 的哪个子目录保存上传文件.你的数据库中要保存的只是文件的路径(相对于 MEDIA_ROOT). 
出于习惯你一定很想使用 Django 提供的 get_<#fieldname>_url 函数.举例来说,如果你的 ImageField 
叫作 mug_shot, 你就可以在模板中以 {{ object.#get_mug_shot_url }} 这样的方式得到图像的绝对路径.   

字段参数

null -> db是否可以为空
default -> 默认值
primary_key -> 主键
db_column -> 列名
db_index -> 索引
unique -> 唯一索引
unique_for_date ->
unique_for_month
unique_for_year
auto_now -> 更新时,自动更新为当前时间
auto_now_add -> 创建时,自动生成时间
choices -> django admin中显示下拉框,避免连表查询
blank -> django admin是否可以为空
verbose_name -> django admin显示字段中文
editable -> django admin是否可以被编辑
error_messages -> 错误信息欠
help_text -> django admin提示
validators -> django
form, 自定义错误信息(欠)

官方文档: https://docs.djangoproject.com/zh-hans/2.0/ref/models/fields/

Meta的配置

class Book(models.Model):
    name = models.CharField(max_length=20,null=False)
    desc = models.CharField(max_length=100,name='description',db_column="description1")

    class Meta:
        db_table = 'book\_model'



![img](https://img-blog.csdnimg.cn/img_convert/95d73619d4bb27eb23e4c60362710c87.png)
![img](https://img-blog.csdnimg.cn/img_convert/0c38e3a0125d6f393fc50d0a0961c076.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618658159)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

*


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 24
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值