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如何实现远程控制电脑(结合微信)
Dec 21 Python
Python中的descriptor描述器简明使用指南
Jun 02 Python
使用python 爬虫抓站的一些技巧总结
Jan 10 Python
对python字典元素的添加与修改方法详解
Jul 06 Python
python 字典中取值的两种方法小结
Aug 02 Python
在Python中获取两数相除的商和余数方法
Nov 10 Python
Python列表(List)知识点总结
Feb 18 Python
Python使用crontab模块设置和清除定时任务操作详解
Apr 09 Python
基于Python的微信机器人开发 微信登录和获取好友列表实现解析
Aug 21 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
Jan 20 Python
Python 使用dict实现switch的操作
Apr 07 Python
教你怎么用Python生成九宫格照片
May 20 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 syntax error, unexpected $end 错误的一种原因及解决
2008/10/25 PHP
php一些错误处理的方法与技巧总结
2013/08/10 PHP
PHP实现通过CURL上传文件功能示例
2018/05/30 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
2018/06/22 PHP
JavaScript 继承详解(三)
2009/07/13 Javascript
用document.documentElement取代document.body的原因分析
2009/11/12 Javascript
javascript 嵌套的函数(作用域链)
2010/03/15 Javascript
JS格式化数字金额用逗号隔开保留两位小数
2013/10/18 Javascript
基于 Docker 开发 NodeJS 应用
2014/07/30 NodeJs
JavaScript比较两个对象是否相等的方法
2015/02/06 Javascript
js实现温度计时间样式代码分享
2015/08/21 Javascript
Jquery ajax 同步阻塞引起的UI线程阻塞问题
2015/11/17 Javascript
jquery实现图片放大镜功能
2015/11/23 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
2017/02/22 Javascript
如何使用angularJs
2017/05/08 Javascript
AngualrJs清除定时器遇到的坑
2017/10/13 Javascript
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
2017/11/30 Javascript
angularjs实现table增加tr的方法
2018/02/27 Javascript
浅谈javascript事件环微任务和宏任务队列原理
2020/09/12 Javascript
[51:17]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第二场 10月30日
2020/10/31 DOTA
python中使用smtplib和email模块发送邮件实例
2014/04/22 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
2018/05/18 Python
python和opencv实现抠图
2018/07/18 Python
django进阶之cookie和session的使用示例
2018/08/17 Python
Python json模块与jsonpath模块区别详解
2020/03/05 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
2020/03/13 Python
python如何删除文件、目录
2020/06/23 Python
CSS中垂直居中的简单实现方法
2015/07/06 HTML / CSS
保险公司年会主持词
2014/03/22 职场文书
2014年安全生产工作总结
2014/11/13 职场文书
2014年健康教育工作总结
2014/11/20 职场文书
医生个人年终总结
2015/02/28 职场文书
助学金申请书该怎么写?
2019/07/16 职场文书
2019脱贫攻坚工作总结报告范本!
2019/08/06 职场文书
python异步的ASGI与Fast Api实现
2021/07/16 Python
windows server 2012安装FTP并配置被动模式指定开放端口
2022/06/10 Servers