博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于django模型语法里面的一些坑。系统报错:Unknown command: 'validate' Type 'manage.py help' for usage....
阅读量:5078 次
发布时间:2019-06-12

本文共 2626 字,大约阅读时间需要 8 分钟。

在学习django模型的时候,博主就遇到过一些坑,这是博主遇到的一个小例子,希望能帮到遇到同样问题的你们。

你是否在学习django时,当你创建了一个模型后,当你正要检测模型的可用性时,使用了语句:python manage.py validate

嗯,却没想到出现了以下问题?

系统报错:Unknown command: 'validate'  Type 'manage.py help' for usage.

Unknown command: 'validate'Type 'manage.py help' for usage.

what?

也许你好好检查了一下教程代码,好像没错呀?怎么回事?

嗯。。我告诉你,代码的确没错,只是你可能用错django框架版本,这些语法已经被淘汰掉了,网上教程教程里面的版本很多都是比较老套的,然而你可能装了django1.9,django1.11,或者更高的django2.0了。

这当然会出现错误,那些语法都被淘汰了,系统已经没有了那个命令,所以必须错误。那么新语法时怎样的呢?

你应该用:python manage.py check

i@DESKTOP-Q59QKNV:~/djangoweb$ python manage.py checkSystem check identified no issues (0 silenced).

也许你像这样,搞定了,完美!

模型确认没问题了,运行下面的命令来生成 CREATE TABLE,运用语句:python manage.py sqlall books

xxxx@DESKTOP-Q59QKNV:~/djangoweb$ python manage.py sqlall booksUnknown command: 'sqlall'Type 'manage.py help' for usage.

what?又出现了同样的错误,命令不存在!因为同样被淘汰了,应该使用:python manage.py sqlmigrate books 0001

xxxxx@DESKTOP-Q59QKNV:~/djangoweb$ python manage.py sqlmigrate books 0001 BEGIN; -- -- Create model Author -- CREATE TABLE "books_author" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "firit_name" varchar(30) NOT NULL, "last_name" varchar(40) NOT NULL, "email" varchar(254) NOT NULL); -- -- Create model Book -- CREATE TABLE "books_book" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "title" varchar(100) NOT NULL, "publication_date" date NOT NULL); CREATE TABLE "books_book_authors" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "book_id" integer NOT NULL REFERENCES "books_book" ("id"), "author_id" integer NOT NULL REFERENCES "books_author" ("id")); -- -- Create model Publisher -- CREATE TABLE "books_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); -- -- Add field publisher to book -- ALTER TABLE "books_book" RENAME TO "books_book__old"; CREATE TABLE "books_book" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "title" varchar(100) NOT NULL, "publication_date" date NOT NULL, "publisher_id" integer NOT NULL REFERENCES "books_publisher" ("id")); INSERT INTO "books_book" ("publication_date", "publisher_id", "id", "title") SELECT "publication_date", NULL, "id", "title" FROM "books_book__old"; DROP TABLE "books_book__old"; CREATE INDEX "books_book_publisher_id_189e6c56" ON "books_book" ("publisher_id"); COMMIT;

当你看到这些提示时,证明没有问题了。

嗯,完美!完美的版本语法大坑,这是博主在学习过程中遇到的一些问题,这只是一小例子。希望能帮到同样学习django的你们。

博主建议你们可以到网上去找一些比较新的教程去学习,或者网上购买一些比较新的教程书籍,也许会达到事半功倍的效果。

使用老教程学习的确很痛苦,希望你们不要走太多歪路!!

 

转载于:https://www.cnblogs.com/zhangxuwei/p/9282322.html

你可能感兴趣的文章
django简介
查看>>
window.event在IE和Firefox的异同
查看>>
常见的js算法面试题收集,es6实现
查看>>
IO流写出到本地 D盘demoIO.txt 文本中
查看>>
Windows10 下Apache服务器搭建
查看>>
HDU 5458 Stability
查看>>
左手坐标系和右手坐标系
查看>>
solr后台操作Documents之增删改查
查看>>
http://yusi123.com/
查看>>
文件文本的操作
查看>>
Ubuntu linux下gcc版本切换
查看>>
记一次Web服务的性能调优
查看>>
jQuery.form.js使用
查看>>
(转)linux sort,uniq,cut,wc命令详解
查看>>
关于ExecuteNonQuery执行的返回值(SQL语句、存储过程)
查看>>
UVa540 Team Queue(队列queue)
查看>>
mysql数据增删改查
查看>>
shell中下载最新版本或指定版本的办法(Dockerfile 中通用)
查看>>
极客时间-左耳听风-程序员攻略-分布式架构工程设计
查看>>
akka之种子节点
查看>>