django 在原有表格添加或删除字段的实例


Posted in Python onMay 27, 2018

一、如果models.py文件为时:

timestamp = models.DateTimeField('保存日期')

会提示:

(env8) D:\Desktop\env8\Scripts\mysite>python manage.py makemigrations
You are trying to add a non-nullable field 'timestamp' to article without a defa
ult; we can't do that (the database needs something to populate existing rows).
Please select a fix:
 1) Provide a one-off default now (will be set on all existing rows)
 2) Quit, and let me add a default in models.py

输入:1 (这里要求你设置新建字段的默认值,它会在新建这个字段的同时把默认值也添加上去,)Select an option: 1

Please enter the default value now, as valid Python
The datetime and django.utils.timezone modules are available, so you can do e.g.
 timezone.now()
>>>

这里面不好修改

可以

(env8) D:\Desktop\env8\Scripts\mysite>python manage.py shell
(env8) D:\Desktop\env8\Scripts\mysite>from django.db import connection
(env8) D:\Desktop\env8\Scripts\mysite>cursor=connection.cursor()
(env8) D:\Desktop\env8\Scripts\mysite>cursor.execute('ALTER TABLEArticle add column timestamp varchar(100) default 0')

二、如果models.py文件为时:

timestamp = models.DateTimeField('保存日期',default=timezone.now,blank=False, null=False)
timestamp = models.DateTimeField('保存日期',default=timezone.now,blank=True, null=True)

blank

设置为True时,字段可以为空。设置为False时,字段是必须填写的。字符型字段CharField和TextField是用空字符串来存储空值的。如果为True,字段允许为空,默认不允许.

null

设置为True时,django用Null来存储空值。日期型、时间型和数字型字段不接受空字符串。所以设置IntegerField,DateTimeField型字段可以为空时,需要将blank,null均设为True。如果为True,空值将会被存储为NULL,默认为False。如果想设置BooleanField为空时可以选用NullBooleanField型字段。

(env8) D:\Desktop\env8\Scripts\mysite>python manage.py makemigrations就不会有下面的提示
(env8) D:\Desktop\env8\Scripts\mysite>python manage.py migrate 就行了中间不会设置数据类型(很容易出错)(若要设置默认值)

三、数据库设计是整个网站开发的核心

补充:timestamp = models.DateTimeField('保存日期')

(env8) D:\Desktop\env8\Scripts\mysite>python manage.py makemigrations
You are trying to add a non-nullable field 'timestamp' to article without a defa
ult; we can't do that (the database needs something to populate existing rows).
Please select a fix:
 1) Provide a one-off default now (will be set on all existing rows)
 2) Quit, and let me add a default in models.py
Select an option: 1
Please enter the default value now, as valid Python
The datetime and django.utils.timezone modules are available, so you can do e.g.
 timezone.now()
>>> '2017-12-16 05:04:31.000'(添加字段的数据类型格式)
Migrations for 'blog':
 0002_article_timestamp.py:
  - Add field timestamp to article
(env8) D:\Desktop\env8\Scripts\mysite>python manage.py migrate
Operations to perform:
 Synchronize unmigrated apps: staticfiles, ckeditor_uploader, messages, ckedito
r, bootstrap3
 Apply all migrations: admin, blog, contenttypes, auth, sessions
Synchronizing apps without migrations:
 Creating tables...
  Running deferred SQL...
 Installing custom SQL...
Running migrations:
 Rendering model states... DONE
 Applying blog.0002_article_timestamp...D:Desktop\env8\lib\site-packa
ges\django\db\models\fields\__init__.py:1474: RuntimeWarning: DateTimeField Arti
cle.timestamp received a naive datetime (2017-12-16 05:04:31) while time zone su
pport is active.
 RuntimeWarning)
 OK
(env8) D:\Desktop\env8\Scripts\mysite>

以上这篇django 在原有表格添加或删除字段的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python字典序问题实例
Sep 26 Python
Linux上安装Python的PIL和Pillow库处理图片的实例教程
Jun 23 Python
Python Django使用forms来实现评论功能
Aug 17 Python
使用Python实现windows下的抓包与解析
Jan 15 Python
基于MTCNN/TensorFlow实现人脸检测
May 24 Python
python2.7和NLTK安装详细教程
Sep 19 Python
Django 自动生成api接口文档教程
Nov 19 Python
解决python gdal投影坐标系转换的问题
Jan 17 Python
python利用 keyboard 库记录键盘事件
Oct 16 Python
python3.9实现pyinstaller打包python文件成exe
Dec 13 Python
Python如何配置环境变量详解
May 18 Python
python中的plt.cm.Paired用法说明
May 31 Python
用python写扫雷游戏实例代码分享
May 27 #Python
和孩子一起学习python之变量命名规则
May 27 #Python
儿童学习python的一些小技巧
May 27 #Python
django初始化数据库的实例
May 27 #Python
django 删除数据库表后重新同步的方法
May 27 #Python
Django 根据数据模型models创建数据表的实例
May 27 #Python
Django使用Mysql数据库已经存在的数据表方法
May 27 #Python
You might like
150kHz到30Mhz完全冲浪手册
2020/03/20 无线电
用PHP实现递归循环每一个目录
2010/08/08 PHP
PHP实现的简单日历类
2014/11/29 PHP
基于PHP实现商品成交时发送短信功能
2016/05/11 PHP
Zend Framework入门教程之Zend_View组件用法示例
2016/12/09 PHP
js 数组克隆方法 小结
2010/03/20 Javascript
使用jQuery模板来展现json数据的代码
2010/10/22 Javascript
jQuery中使用Ajax获取JSON格式数据示例代码
2013/11/26 Javascript
javascript中interval与setTimeOut的区别示例介绍
2014/03/14 Javascript
判断及设置浏览器全屏模式
2014/04/20 Javascript
一个JS函数搞定网页标题(title)闪动效果
2014/05/13 Javascript
JavaScript设计模式之策略模式实例
2014/10/10 Javascript
vue.js实现简单轮播图效果
2017/10/10 Javascript
JavaScript实现的反序列化json字符串操作示例
2018/07/18 Javascript
Vue2.0学习系列之项目上线的方法步骤(图文)
2018/09/25 Javascript
vue中引入mxGraph的步骤详解
2019/05/17 Javascript
原生JS实现留言板功能
2020/02/08 Javascript
ES6中new Function()语法及应用实例分析
2020/02/19 Javascript
python BeautifulSoup设置页面编码的方法
2015/04/03 Python
Python functools模块学习总结
2015/05/09 Python
Python在线运行代码助手
2016/07/15 Python
Python自动化运维_文件内容差异对比分析
2017/12/13 Python
用Python+OpenCV对比图像质量的几种方法
2019/07/15 Python
windows上安装python3教程以及环境变量配置详解
2019/07/18 Python
解决jupyter运行pyqt代码内核重启的问题
2020/04/16 Python
pytorch 限制GPU使用效率详解(计算效率)
2020/06/27 Python
python如何写个俄罗斯方块
2020/11/06 Python
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
美国专业汽车音响和移动电子产品零售商:Car Toys
2019/05/13 全球购物
Trench London官方网站:高级风衣和意大利皮夹克
2020/07/11 全球购物
如何做好总经理助理
2013/11/12 职场文书
创业计划书的写作技巧及要点
2014/01/31 职场文书
领导干部廉政自律承诺书
2014/05/26 职场文书
党员评议思想汇报
2014/10/08 职场文书
党员批评与自我批评发言材料
2014/10/14 职场文书
提升Nginx性能的一些建议
2021/03/31 Servers