Django 数据库操作
来源:互联网 发布:pat 知乎 编辑:程序博客网 时间:2024/05/17 22:14
1. 使用sqlall查看模型新的 CREATE TABLE 语句。 查看新创建的字段:
$ python manage.py sqlall depotapp
BEGIN;
CREATE TABLE "depotapp_product" (
"id" integer NOT NULL PRIMARY KEY,
"title" varchar(100) NOT NULL UNIQUE,
"description" text NOT NULL,
"image_url" varchar(200) NOT NULL,
"price" decimal NOT NULL,
"date_available" date NOT NULL
)
;
COMMIT;
2. 使用数据库命令行工具,或客户端工具,或者django提供的dbshell工具增加字段:
$ python manage.py dbshell
sqlite> begin;
sqlite> alter table depotapp_product add column date_available date not null default 0;
sqlite> commit;
3. 验证数据库:
$ python manage.py shell
>>> from depot.depotapp.models import Product
>>> Product.objects.all()
如果没有异常发生,则可以在发布环境进行上述修改。
$ python manage.py sqlall depotapp
BEGIN;
CREATE TABLE "depotapp_product" (
"id" integer NOT NULL PRIMARY KEY,
"title" varchar(100) NOT NULL UNIQUE,
"description" text NOT NULL,
"image_url" varchar(200) NOT NULL,
"price" decimal NOT NULL,
"date_available" date NOT NULL
)
;
COMMIT;
2. 使用数据库命令行工具,或客户端工具,或者django提供的dbshell工具增加字段:
$ python manage.py dbshell
sqlite> begin;
sqlite> alter table depotapp_product add column date_available date not null default 0;
sqlite> commit;
3. 验证数据库:
$ python manage.py shell
>>> from depot.depotapp.models import Product
>>> Product.objects.all()
如果没有异常发生,则可以在发布环境进行上述修改。
以上是在模型中增加一个属性的步骤。其他对模型的修改可能还有:
删除字段——drop column
删除模型——drop table
删除多对多关联——drop table (自动生成的关联表)
也需要参考上述的步骤进行。
- Django数据库操作笔记
- DJANGO中操作数据库
- DJANGO数据库操作
- Django数据库queryset操作
- Django 数据库操作
- Django 数据库的操作
- Django 数据库操作备忘
- Django 中的数据库操作
- Django 数据库操作
- django 数据库操作
- Django 数据库QuerySet操作
- DJANGO数据库操作
- django+python 操作数据库
- django操作数据库例子
- Django数据库操作
- django操作数据库
- Django 数据库操作
- django 的数据库操作
- NoSQL:单服务器如何应付每秒75万次查询
- Roman to Integer
- 黑马程序员_java面向对象_构造函数
- LeetCode题解:Divide Two Integers
- LeetCode题解:Sqrt(x)
- Django 数据库操作
- Django View
- Django template
- Django 通用视图
- ssh执行远程服务器需要sudo提权的脚本
- vsftp建立虚拟用户不同目录分配不同权限操作步骤详解
- python计算程序开始到程序结束的运行时间和程序运行的CPU时间
- php遍历文件夹所有文件子文件夹函数
- MySQL: Error 1045 (28000): Access denied for user ‘root’@'localhost’ (using password: NO)