Django使用已有数据库

Django可以使用python manage.py inspectdb生成数据模型,在命令行界面输出模型数据。
也可以生成具体的models.py文件
python manage.py inspectdb > models.py
注意这个命令会生成数据库里所有的数据表模型。
注意这并不代表写好模型就能用了,如果在原来的数据里面,没有主键的话,Django会自己生成一个app_model.id的主键,而原有的数据表里是没有这个键的。而到了admin界面里的话,会报错:
django.db.utils.InternalError: (1054, "Unknown column 'app_model.id' in 'field list'")
具体解决办法还没找到,于是我重新建立了一个主键为id(id INT PRIMARY_KEY AUTO_INCREMENT)的数据表。但是inspectdb生成的数据模型里并没有id这个属性,还要自己加上去

id = models.IntegerField(primary_key=True)

你可能感兴趣的:(Django使用已有数据库)