Django字段类型介绍

Posted momo8238

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django字段类型介绍相关的知识,希望对你有一定的参考价值。

一,通过makemigrations,migrate来修改数据,

1.Django的ORM支持修改表结构,修改完以后,执行

  python manage.py makemigrations
  python manage.py migrate

这两句,就会看到更新了。超过长度的数据就会丢了。

 

2.给数据库增加一列,

此时会有错误提示,提示需要输入值。因为创建这行的时候没有注明null=False.

 

至此数据库就已经更新了。

或者在添加的时候,指定为空也是可以的。

gender=models.CharField(max_length=60,null=True)

 python manage.py makemigrations
 python manage.py migrate

注释掉这一句的话,#gender=models.CharField(max_length=60,null=True),执行

 python manage.py makemigrations
 python manage.py migrate

最后一列就被删除掉了。

 

每做完1个操作,都必须执行下列两句才能生效:

python manage.py makemigrations
 python manage.py migrate

 

二,数据库中的数据类型

2.1 基本的数据库中的数据类型:字符串,数字,时间,二进制。CharField,URLFiled,EmailField的作用是用来给django的admin做验证的。对数据库的普通用户数据是不起作用的。

CharField 字符串

URLField  也是字符串类型

email=models.EmailField(max_length=19) 也是字符串类型

 

2.2 测试EmailField的功能,给Django的admin做格式验证。对表中的内容是没有做限制的。

先新增一列,增加完了执行那2句才能生效。

 

2.3 添加程序,有了admin后台管理

 

2.4增加上对应关系

 

2.5 运行起来,现在就可以登录后台管理页面了。

 

2.6 创建超级用户,然后登录

 

2.7 用root, root!23456登录

URL格式验证 test=models.URLField(max_length=19,null=True)

IP格式验证 test=models.GenericIPAddressField() ipv1/ipv6都适用。

 

三,

3.1 创建了一个自增的列,AutoField代表是自增列。mysql表里面只能有1个自增列,那么默认的自增id列就不出现了。现在表里面只有自己定义的uid 和 caption两列。

uid=models.AutoField(primary_key=True)

 

四,本节笔记

	1,根据类自动创建数据库表
		#app下的models.py
		
		python manage.py makemigrations
		python manage.py migrate
		
		字段:
			字符串类型
			数字
			时间
			二进制
			自增(primary_key=True)

 

以上是关于Django字段类型介绍的主要内容,如果未能解决你的问题,请参考以下文章

Django - orm字段类型介绍

Django REST框架--认证和权限

Django ORM 创建数据库和模型常用的字段类型参数及Field 重要参数介绍

Django-ORM介绍和字段及字段参数

Django 有关 models 数据类型介绍:

Django ORM 数据库操作