django 在原有表格添加或删除字段的实例
2018-05-27 15:50
711 查看
一、如果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 在原有表格添加或删除字段的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- django 原有表格添加或删除 字段
- sql alter 添加、修改、删除字段语法实例
- JavaScript动态操作表格实例(添加,删除行,列及单元格)
- JavaScript动态操作表格实例(添加,删除行,列及单元格)
- JavaScript动态操作表格实例(添加,删除行,列及单元格)
- JavaScript动态操作表格实例(添加,删除行,列及单元格)
- Django之添加 修改 删除 实例
- jquery应用实例一动态添加删除生成表格table
- JavaScript动态操作表格实例(添加,删除行,列及单元格)
- Oracle数据库 实例说明:表的创建、重命名、属性/字段/列的添加删除与修改
- js动态添加表格逐行添加、删除、遍历取值的实例代码
- SQL语句紫ACCESS添加字段、修改字段、删除字段
- 在数据库服务端,添加一个表格,然后在MFC中对数据库表格的数据做插入、删除和修改
- 动态添加删除表格行的js实现代码
- JavaScript动态操作表格(添加,删除行、列及单元格)
- Oracle删除字段中的空格、回车及指定字符的实例代码
- angularJs 表格添加删除修改查询
- 动态添加和删除表格行
- 用javascript实现网页中表格的行的添加与删除
- 原生JS和JQuery动态添加、删除表格行的方法