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调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
Aug 15 Python
python使用电子邮件模块smtplib的方法
Aug 28 Python
详解python函数传参是传值还是传引用
Jan 16 Python
使用Python读取安卓手机的屏幕分辨率方法
Mar 31 Python
Python中的 enum 模块源码详析
Jan 09 Python
python os模块简单应用示例
May 23 Python
详解Python中的正斜杠与反斜杠
Aug 09 Python
使用OpenCV-python3实现滑动条更新图像的Canny边缘检测功能
Dec 12 Python
Python如何使用OS模块调用cmd
Feb 27 Python
python + selenium 刷B站播放量的实例代码
Jun 12 Python
通过实例解析python and和or使用方法
Nov 14 Python
Python中的流程控制详解
Feb 18 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
如何限制访问者的ip(PHPBB的代码)
2006/10/09 PHP
用JavaScript和注册表脚本实现右键收藏Web页选中文本
2007/01/28 Javascript
基于jquery的web页面日期格式化插件
2011/11/15 Javascript
Javascript中克隆一个数组的实现代码
2013/12/06 Javascript
Node.js实现简单聊天服务器
2014/06/20 Javascript
jQuery操作Table技巧大汇总
2016/01/23 Javascript
JS中frameset框架弹出层实例代码
2016/04/01 Javascript
基于JavaScript实现点击页面任何位置返回
2016/08/31 Javascript
Bootstrap的fileinput插件实现多文件上传的方法
2016/09/05 Javascript
利用Query+bootstrap和js两种方式实现日期选择器
2017/01/10 Javascript
jQuery的三种bind/One/Live/On事件绑定使用方法
2017/02/23 Javascript
原生JS实现图片懒加载(lazyload)实例
2017/06/13 Javascript
JavaScript反弹动画效果的实现代码
2017/07/13 Javascript
vue axios 给生产环境和发布环境配置不同的接口地址(推荐)
2018/05/08 Javascript
vue两组件间值传递 $router.push实现方法
2019/05/15 Javascript
微信小程序中button去除默认的边框实例代码
2019/08/01 Javascript
微信小程序如何获取用户头像和昵称
2019/09/23 Javascript
countUp.js实现数字滚动效果
2019/10/18 Javascript
webpack 动态批量加载文件的实现方法
2020/03/19 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
vue-cli4.0多环境配置变量与模式详解
2020/12/30 Vue.js
[03:31]DOTA2英雄基础教程 大地之灵
2013/12/17 DOTA
Tornado Web服务器多进程启动的2个方法
2014/08/04 Python
Python实现购物车程序
2018/04/16 Python
使用python 打开文件并做匹配处理的实例
2019/01/02 Python
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
2020/04/22 Python
.img/.hdr格式转.nii格式的操作
2020/07/01 Python
python搜索算法原理及实例讲解
2020/11/18 Python
乌克兰机票、铁路和巴士票、酒店搜索、保险:Tickets.ua
2020/01/11 全球购物
医学院护理专业应届生求职信
2013/11/12 职场文书
如何写一份好的英文求职信
2014/03/19 职场文书
公司口号大全
2014/06/11 职场文书
对学校的意见和建议
2015/06/04 职场文书
2016年安全月活动总结
2016/04/06 职场文书
八年级地理课件资料及考点知识分享
2019/08/30 职场文书
彩虹社八名人气艺人全新周边限时推出,性转女装男装一次拥有!
2022/04/01 日漫