• Django操作model时刻,一个错误:AttributeError:’ProgrammingError’ object has no attribute ‘__traceback__’


              原因:在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都是python的DB API 中使用的异常。当中,

    ProgrammingError:用户编程错误,比方未找到表。

    operationalError :数据库内部操作错误。当然。通过syncdb来自己主动创建的表应该是没问题的。

    但假如是你自己创建。可能就有问题。比方:表的命名错误(model名可能有大写,可是表名都要换成小写);或者没有添加一个默认的id作为主键。由于Django在没有显式定义主键变量的模型都会被指定一个id属性.假设你希望有很多其它的控制主键。仅仅需在模型的某个变量上指定primary_key=True即可了。这个变量会代替id(这时id会被忽略掉)。


     

                

    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    Github作为图床的一个小坑
    OVS 精确删除流表
    Mininet入门与实战 3.9参课记录
    python自定义mininet拓扑
    RYU 灭龙战 fourth day (2)
    RYU 灭龙战 fourth day (1)
    01-NLP-01-原理与基础
    人脸识别face_detection
    5-3tensorboard网络结构及运行
    10-3验证码识别+10.4测试
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4851888.html
Copyright © 2020-2023  润新知