【问题标题】:MySql table do not has primary key, django orm can not useMySql表没有主键,django orm不能用
【发布时间】:2017-12-22 17:32:45
【问题描述】:

我将 Django ORM 与 MySQL 数据库一起使用,但我有一些没有主键的表。它会抛出这样的异常:

django.db.utils.OperationalError: (1054, "Unknown column 'XXX.id' in 'field list'")

如何在不修改表架构的情况下修复异常?

【问题讨论】:

    标签: mysql django primary-key


    【解决方案1】:

    不,你不能有一个没有主键的模型。

    https://docs.djangoproject.com/en/dev/topics/db/models/#automatic-primary-key-fields

    每个模型都需要一个字段来具有primary_key=True(显式声明或自动添加)。

    【讨论】:

    • 好的...,谢谢您的回答,我只是将一列假冒为主键,但我不明白为什么 django orm 不能支持没有主键的表!
    • 我同意在使用遗留数据库时它没有多大意义。唯一的缺点是您的 .get 查询将不起作用(除非假 PK 实际上是唯一的)。
    猜你喜欢
    • 2018-10-21
    • 1970-01-01
    • 2013-07-23
    • 2018-10-26
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 2018-08-26
    • 2011-04-03
    相关资源
    最近更新 更多