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 相关文章推荐
ptyhon实现sitemap生成示例
Mar 30 Python
python使用两种发邮件的方式smtp和outlook示例
Jun 02 Python
Python 判断是否为质数或素数的实例
Oct 30 Python
对numpy中轴与维度的理解
Apr 18 Python
Python if语句知识点用法总结
Jun 10 Python
解决python写入mysql中datetime类型遇到的问题
Jun 21 Python
python用插值法绘制平滑曲线
Feb 19 Python
Python学习笔记之读取文件、OS模块、异常处理、with as语法示例
Jun 04 Python
利用 Python ElementTree 生成 xml的实例
Mar 06 Python
python如何实现读取并显示图片(不需要图形界面)
Jul 08 Python
python爬虫使用scrapy注意事项
Nov 23 Python
Python中生成ndarray实例讲解
Feb 22 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
PHP session_start()问题解疑(详细介绍)
2013/07/05 PHP
WordPress的文章自动添加关键词及关键词的SEO优化
2016/03/01 PHP
PHP实现一维数组与二维数组去重功能示例
2018/05/24 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
2019/12/12 PHP
广告代码静态化js通用函数
2007/05/09 Javascript
JavaScript 模仿vbs中的 DateAdd() 函数的代码
2007/08/13 Javascript
js 数组的for循环到底应该怎么写?
2010/05/31 Javascript
Javascript操作cookie的函数代码
2012/10/03 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
2013/11/08 Javascript
jQuery+css实现的切换图片功能代码
2016/01/27 Javascript
Node.js中使用jQuery的做法
2016/08/17 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
2016/10/30 Javascript
详细讲解vue2+vuex+axios
2017/05/27 Javascript
JSON 数据格式详解
2017/09/13 Javascript
微信小程序picker组件下拉框选择input输入框的实例
2017/09/20 Javascript
AngularJs返回前一页面时刷新一次前面页面的方法
2018/10/09 Javascript
Vue 全家桶实现移动端酷狗音乐功能
2018/11/16 Javascript
微信小程序canvas.drawImage完全显示图片问题的解决
2018/11/30 Javascript
jQuery实现数字自动增加或者减少的动画效果示例
2018/12/11 jQuery
小程序实现人脸识别功能(百度ai)
2018/12/23 Javascript
基于Vue el-autocomplete 实现类似百度搜索框功能
2019/10/25 Javascript
jQuery使用ajax传递json对象到服务端及contentType的用法示例
2020/03/12 jQuery
python获取android设备的GPS信息脚本分享
2015/03/06 Python
python 全局变量的import机制介绍
2017/09/07 Python
python 中的list和array的不同之处及转换问题
2018/03/13 Python
Django如何将URL映射到视图
2019/07/29 Python
python编写微信公众号首图思路详解
2019/12/13 Python
捷克汽车配件和工具销售网站:TorriaCars
2018/02/26 全球购物
ParcelABC西班牙:包裹运送和快递服务
2019/12/24 全球购物
实习医生自我评价
2013/09/22 职场文书
外语学院毕业生的自我鉴定
2013/11/28 职场文书
保险公司演讲稿
2014/09/02 职场文书
主持人开幕词
2015/01/29 职场文书
2015年乡镇妇联工作总结
2015/05/19 职场文书
2016年世界艾滋病日宣传活动总结
2016/04/01 职场文书
《没有任何借口》读后感:完美的执行能力
2020/01/07 职场文书