Python 显示Django mysql表中导入的错误

Python 显示Django mysql表中导入的错误,python,mysql,django,Python,Mysql,Django,我的模型中有这样一个模型 class DeviceType(models.Model): device_type_id = models.IntegerField(unique=True, blank=True, null=True,db_column='device_type_id') device_type_name = models.CharField(max_length=64) class Meta: # managed = False db_tab

我的模型中有这样一个模型

class DeviceType(models.Model):
    device_type_id = models.IntegerField(unique=True, blank=True, null=True,db_column='device_type_id')
    device_type_name = models.CharField(max_length=64)

class Meta:
    #  managed = False
    db_table = 'device_type'
对于测试,我尝试将该表添加到admin视图,但当我尝试查看结果时,出现了一个错误:

(1054, "Unknown column 'device_type.id' in 'field list'")
Request Method: GET
Request URL:    http://172.17.45.9:8001/admin/_my_alfanet_/devicetype/
Django Version: 1.10.6
Exception Type: OperationalError
Exception Value:    
(1054, "Unknown column 'device_type.id' in 'field list'")
Exception Location: /etc/network/scripts/my_alfanet_env/lib/python2.7/site-packages/MySQLdb/connections.py in defaulterrorhandler, line 36
Python Executable:  /etc/network/scripts/my_alfanet_env/bin/python
Python Version: 2.7.9
Python Path:    
['/etc/network/scripts',
 '/etc/network/scripts/ansible/lib',
 '/etc/network/scripts',
 '/etc/network/scripts/my_alfanet_env/lib/python27.zip',
 '/etc/network/scripts/my_alfanet_env/lib/python2.7',
 '/etc/network/scripts/my_alfanet_env/lib/python2.7/plat-linux2',
 '/etc/network/scripts/my_alfanet_env/lib/python2.7/lib-tk',
 '/etc/network/scripts/my_alfanet_env/lib/python2.7/lib-old',
 '/etc/network/scripts/my_alfanet_env/lib/python2.7/lib-dynload',
 '/usr/local/lib/python2.7',
 '/usr/local/lib/python2.7/plat-linux2',
 '/usr/local/lib/python2.7/lib-tk',
 '/etc/network/scripts/my_alfanet_env/lib/python2.7/site-packages']
Server time:    Fri, 3 Mar 2017 15:18:57 +0000

看起来django试图将自己的列添加到sql请求中,这是一个错误。谁能帮助解决这个问题?Django要求每个模型只有一个主键。除非您为其他字段之一设置了
primary\u key=True
,否则它将
id
添加到模型中

在您的情况下,
device\u type\u id
似乎是主键。如果是,可以将模型更改为:

class DeviceType(models.Model):
    device_type_id = models.IntegerField(primary_key=True)
    device_type_name = models.CharField(max_length=64)
我已经删除了
db\u column='device\u type\u id'
,因为它与字段名匹配。我还删除了
blank=True
null=True
,因为主键不能为null


如果数据库自动创建
设备类型\u id
,则应使用而不是
整型字段
。如果没有,则在数据库中创建新设备类型时,您必须手动设置
设备类型\u id

此数据库是外部数据库,它是从另一个项目导入的。是否可以添加admin视图admin.py文件?