django之概述

1.创建model,

2.然后再setting里面加入这个app,即激活模型

3.然后用命令:manage.py validate确认model是否有错误,

4.python manage.py makemigrations polls,建表,迁移文件,

5.python manage.py sqlmigrate book 0001用来运行步骤4的迁移文件,把django所要做的事情打印到屏幕上,并不改变数据库表,也可以运行python manage.py check命令;它能在你没有执行迁移或者没有接触到数据库时,检查你的项目中是否存在问题。

6.python manage.py migrate:运行migrate命令,在你的数据库中创建模型所对应的数据表:

7.python manage.py syncdb

#syncdb 命令是同步你的模型到数据库的一个简单方法。 它会根据 INSTALLED_APPS 里设置的app来检查数据
库, 如果表不存在,它就会创建它。 需要注意的是, syncdb 并 不能将模型的修改或删除同步到数据库;如果

你修改或删除了一个模型,并想把它提交到数据库,syncdb并不会做出任何处理。 (更多内容请查看本章最后
的“修改数据库的架构”一段。)#

步骤5生成的结果如下:

BEGIN;
CREATE TABLE "book_author" (

"id" integer NOT NULL PRIMARY KEY AUTOINCREMENT,

"first_name" varchar(30) NOT NULL,

"last_name" varchar(40) NOT NULL,

 "email" varchar(75) NOT NULL);


CREATE TABLE "book_book" (

"id" integer NOT NULL PRIMARY KEY AUTOINCREMENT,

"title" varchar(100) NOT NULL,

 "publication_date" date NOT NULL);


CREATE TABLE "book_book_authors" (

"id" integer NOT NULL PRIMARY KEY AUTOINCREMENT,

 "book_id" integer NOT NULL REFERENCES

 "book_book" ("id"),

 "author_id" integerNOT NULL REFERENCES

 "book_author" ("id"),

 UNIQUE ("book_id", "author_id"));


CREATE TABLE "book_publisher" (

"id" integer NOT NULL PRIMARY KEY AUTOINCREMENT,
"name" varchar(30) NOT NULL,

 "address" varchar(50) NOT NULL,

 "city" varchar(60)NOT NULL,

 "state_province" varchar(30) NOT NULL,

"country" varchar(50) NOT NULL,
 "website" varchar(200) NOT NULL);


CREATE TABLE "book_book__new" (

"id" integer NOT NULL PRIMARY KEY AUTOINCREMENT,
"title" varchar(100) NOT NULL,

"publication_date" date NOT NULL,

 "publisher_id"integer NOT NULL REFERENCES

"book_publisher" ("id"));


INSERT INTO "book_book__new" ("publication_date", "publisher_id", "id", "title")
 SELECT "publication_date", NULL, "id", "title" FROM "book_book";
DROP TABLE "book_book";
ALTER TABLE "book_book__new" RENAME TO "book_book";
CREATE INDEX "book_book_2604cbea" ON "book_book" ("publisher_id");

 

转载于:https://my.oschina.net/yusi/blog/399076

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值