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中的变量及其命名和打印
Mar 11 Python
完美解决Python2操作中文名文件乱码的问题
Jan 04 Python
在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南
Jan 30 Python
Python测试网络连通性示例【基于ping】
Aug 03 Python
程序员写Python时的5个坏习惯,你有几条?
Nov 26 Python
Django+JS 实现点击头像即可更改头像的方法示例
Dec 26 Python
Python多进程fork()函数详解
Feb 22 Python
Django错误:TypeError at / 'bool' object is not callable解决
Aug 16 Python
Django密码存储策略分析
Jan 09 Python
Python使用plt.boxplot() 参数绘制箱线图
Jun 04 Python
在tensorflow实现直接读取网络的参数(weight and bias)的值
Jun 24 Python
Python通用验证码识别OCR库ddddocr的安装使用教程
Jul 07 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
require(),include(),require_once()和include_once()区别
2008/03/27 PHP
PHP实现对站点内容外部链接的过滤方法
2014/09/10 PHP
PHP单例模式详解及实例代码
2016/12/21 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
2017/06/06 PHP
JAVASCRIPT HashTable
2007/01/22 Javascript
javascript document.images实例
2008/05/27 Javascript
捕获关闭窗口的脚本
2009/01/10 Javascript
javascript 关于# 和 void的区别分析
2009/10/26 Javascript
javascript简单实现图片预加载
2014/12/03 Javascript
jQuery聚合函数实例
2015/05/21 Javascript
基于jQuery倾斜打开侧边栏菜单特效代码
2015/09/15 Javascript
全面了解js中的script标签
2016/07/04 Javascript
关于JavaScript中事件绑定的方法总结
2016/10/26 Javascript
有趣的bootstrap走动进度条
2016/12/01 Javascript
Highcharts+NodeJS搭建数据可视化平台示例
2017/01/01 NodeJs
JavaScript实现图片瀑布流和底部刷新
2017/01/02 Javascript
详谈jQuery中的一些正则匹配表达式
2017/03/08 Javascript
Vue组件和Route的生命周期实例详解
2018/02/10 Javascript
React Native中Mobx的使用方法详解
2018/12/04 Javascript
Nuxt.js 静态资源和打包的操作
2020/11/06 Javascript
[03:49]辉夜杯现场龙骑士COSER秀情商“我喜欢芬队!”
2015/12/27 DOTA
[01:38:19]夜魇凡尔赛茶话会 第五期
2021/03/11 DOTA
Python进行数据提取的方法总结
2016/08/22 Python
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
python如何对实例属性进行类型检查
2018/03/20 Python
和孩子一起学习python之变量命名规则
2018/05/27 Python
python Pexpect 实现输密码 scp 拷贝的方法
2019/01/03 Python
Django Serializer HiddenField隐藏字段实例
2020/03/31 Python
俄罗斯外国汽车和国产汽车配件网上商店:Движком
2020/04/19 全球购物
我看到了用指针调用函数的不同语法形式
2014/07/16 面试题
如何在发生故障的节点上重新安装 SQL Server
2013/03/14 面试题
信息专业大学生自我评价分享
2014/01/17 职场文书
企业法人授权委托书
2014/09/25 职场文书
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server
超详细教你怎么升级Mysql的版本
2021/05/19 MySQL
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python