python – django.db.utils.OperationalError:my_table没有列ID错误?

前端之家收集整理的这篇文章主要介绍了python – django.db.utils.OperationalError:my_table没有列ID错误?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在测试我的Django应用程序的models.py文件:我的 Python interepreter中的“myapp”,但是仍然遇到这个错误
django.db.utils.OperationalError: table myapp_table1 has no column named attribute1_id

我的models.py,table1和表2中有2个表.

class table1 (models.Model):
   name = models.CharField(max_length=25)
   def __str__(self):             
     return self.name
 class table2 (models.Model):
   name = models.CharField(max_length =25)
   attribute1= models.ForeignKey(Type,related_name = "att1_set+",default=None)
   attribute2= models.ManyToManyField(Type,related_name = "att2_set+",default=None)
   def __str__(self):             
     return self.metric_name

在我的python解释器中:

>>> from my_app.models import table1,table2
>>> t1 = table1 (name = "ty1",id = 0)
>>> t1.save()
>>> t2 = table1 (name = "ty2",id = 1)
>>> e1 = table2 (name = "as",attribute1 = t1)
>>> e1.save() 
>>> error aforementioned after .save

但是,当我执行:“manage.py sql myapp”时,我看到我的table2:

CREATE TABLE "my_app_table2" (
"id" integer NOT NULL PRIMARY KEY AUTOINCREMENT,"name" varchar(25) NOT NULL,"attribute1_id" integer NOT NULL REFERENCES "myapp_table1" ("id")
)

解决方法

您必须运行python manage.py syncdb(如果您使用south,则运行python manage.py migrate – 您应该这样做),以便将更改应用于数据库.
原文链接:https://www.f2er.com/python/446475.html

猜你在找的Python相关文章