django mysql主键自增,python – Django自动为现有数据库表创建主键

我有一个现有的数据库,我正在尝试使用Django访问.我使用python manage.py inspectdb为数据库创建模型.目前我能够将模型导入到python shell中,但是当我尝试以任何方式访问任何实际对象时,我收到此错误OperationalError:(1054,“字段列表”中的“未知列’some_table.id’ “).我看到数据库中的表实际上没有id字段.我怎样才能解决这个问题?我是否需要更新Meta类中的托管字段并运行迁移,以便它可以自动创建此字段?

解决方法:

来自Django文档:此功能用作快捷方式,而不是确定的模型生成.有关更多信息,请参阅inspectdb的文档. (参考:https://docs.djangoproject.com/en/1.8/howto/legacy-databases/)

您将需要手动清理模型并进行迁移.添加“id”字段时必须添加的行是:

id = models.IntegerField(primary_key=True)

警告:我肯定会创建一个数据库的副本来玩,而不是原始的.这可能会带你一些试验和错误来做对.在你完全确定你做对了之后,你可以改变Managed = True,但要非常小心!

标签:python,mysql,django,legacy-database

来源: https://codeday.me/bug/20190623/1273952.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值