通过Django shell运行以下命令时:
from myApp.models import *
print Categorytree.objects.all()
我收到此错误消息:
操作错误:(1054,"未知列' categorytree.id' in'字段 列表'&#34)
这就是我的模型:
class Categorytree(models.Model):
level = models.IntegerField(db_column='Level') # Field name made lowercase.
categorynode_idcategorynode = models.ForeignKey(Categorynode, models.DO_NOTHING, db_column='CategoryNode_idCategoryNode') # Field name made lowercase.
categorynode_idancestorcategorynode = models.ForeignKey(Categorynode, models.DO_NOTHING, db_column='CategoryNode_idAncestorCategoryNode', related_name='+') # Field name made lowercase.
class Meta:
managed = False
db_table = 'categorytree'
unique_together = (('categorynode_idcategorynode', 'categorynode_idancestorcategorynode'),)
请注意,它没有主键,但它不应该有,但Django似乎认为会有一个主键.id字段。
答案 0 :(得分:3)
引用Django docs:
每个模型只需要一个字段就可以 primary_key = True (显式声明或自动添加)。
如果您需要访问没有主键的表格,则需要使用其他工具,例如SQLAlchemy。