码迷,mamicode.com
首页 > 其他好文 > 详细

Django操作model时,报错:AttributeError:’ProgrammingError’ object has no attribute ‘__traceback__’

时间:2015-03-19 23:59:59      阅读:374      评论:0      收藏:0      [点我收藏+]

标签:django   web开发   python   

          原因:在Django项目下相应的应用下面的models.py配置的model(也就是class)没有创建成相应的表。

         这是怎么回事呢?

       首先,将models.py里面的model创建成对应的数据库表的执行命令(DOS命令)为:manage.py syncdb。

      但是我自己的电脑上执行该命令时,显示.Unknown command:syncdb.执行,manage.py help后的确没有发现这个子命令。最后网上搜索发现这个命令已经在Django1.9里面取消了。并且stackoverflow里面说可以使用migrate命令替换。但是之前执行manage.py migrate时,并没有帮我在数据库里面创建model对应的表。

     建议:1.Django换成低点的版本。

                 2.ProgrammingError或者OperationalError都是Mysql(数据库)操作上的错误。如果在Django上报这样的错。前者应该是操作表时,没有找到相应的表。后者一般就是创建的表有问题。当然,通过syncdb来自动创建的表应该是没问题的。但假如是你自己创建。可能就有问题。比如:表的命名错误(model名可能有大写,但是表名都要换成小写);或者没有增加一个默认的id作为主键。因为Django在没有显式定义主键变量的模型都会被指定一个id属性.如果你希望有更多的控制主键,只需在模型的某个变量上指定primary_key=True就行了,这个变量会取代id(这时id会被忽略掉)

 

            

Django操作model时,报错:AttributeError:’ProgrammingError’ object has no attribute ‘__traceback__’

标签:django   web开发   python   

原文地址:http://blog.csdn.net/allenalex/article/details/44467095

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!