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数据结构树和二叉树简介
Apr 29 Python
Python使用爬虫爬取静态网页图片的方法详解
Jun 05 Python
对dataframe进行列相加,行相加的实例
Jun 08 Python
Python面向对象之静态属性、类方法与静态方法分析
Aug 24 Python
Python模拟浏览器上传文件脚本的方法(Multipart/form-data格式)
Oct 22 Python
Python Cookie 读取和保存方法
Dec 28 Python
python实现批量注册网站用户的示例
Feb 22 Python
python字典一键多值实例代码分享
Jun 14 Python
Python中实现输入超时及如何通过变量获取变量名
Jan 18 Python
Pycharm2020最新激活码|永久激活(附最新激活码和插件的详细教程)
Sep 29 Python
python实现移动木板小游戏
Oct 09 Python
python实现简单的井字棋
May 26 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
可快速识别放射性物质-国外大神教你diy一个开放式辐射探测器
2020/03/12 无线电
Linux fgetcsv取得的数组元素为空字符串的解决方法
2011/11/25 PHP
thinkphp连贯操作实例分析
2014/11/22 PHP
JavaScript 图片预览效果 推荐
2009/12/22 Javascript
jquery插件制作 图片走廊 gallery
2012/08/17 Javascript
用javascript判断IE版本号简单实用且向后兼容
2013/09/11 Javascript
javascript简单实现命名空间效果
2014/03/06 Javascript
DOM基础教程之使用DOM设置文本框
2015/01/20 Javascript
JavaScript判断手机号运营商是移动、联通、电信还是其他(代码简单)
2015/09/25 Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
2016/01/22 Javascript
玩转JavaScript OOP - 类的实现详解
2016/06/08 Javascript
解决AngualrJS页面刷新导致异常显示问题
2017/04/20 Javascript
AngularJS 购物车全选/取消全选功能的实现方法
2017/08/14 Javascript
10分钟彻底搞懂Http的强制缓存和协商缓存(小结)
2018/08/30 Javascript
ionic+html5+API实现双击返回键退出应用
2019/09/17 Javascript
vue 中固定导航栏的实例代码
2019/11/01 Javascript
js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期
2020/02/01 Javascript
小结Python用fork来创建子进程注意事项
2014/07/03 Python
Pandas之drop_duplicates:去除重复项方法
2018/04/18 Python
pyqt5移动鼠标显示坐标的方法
2019/06/21 Python
python中对数据进行各种排序的方法
2019/07/02 Python
python 数据生成excel导出(xlwt,wlsxwrite)代码实例
2019/08/23 Python
Python3 读取Word文件方式
2020/02/13 Python
Python实现七个基本算法的实例代码
2020/10/08 Python
CSS3中的display:grid,网格布局介绍
2019/10/30 HTML / CSS
canvas 如何绘制线段的实现方法
2018/07/12 HTML / CSS
舞会礼服和舞会鞋:PromGirl
2019/04/22 全球购物
外语专业毕业生自我评价分享
2013/10/05 职场文书
银行简历自我评价
2014/02/11 职场文书
三分钟演讲稿事例
2014/03/03 职场文书
个人党性分析材料
2014/12/19 职场文书
会计简历自我评价
2015/03/10 职场文书
Golang 实现超大文件读取的两种方法
2021/04/27 Golang
python中24小时制转换为12小时制的方法
2021/06/18 Python
php访问对象中的成员的实例方法
2021/11/17 PHP
PHP遍历数组的6种方式总结
2021/11/17 PHP