Django CharField 主键不起作用,自动创建 rowid 主键
Django CharField primary key doesn't work, creating rowid primary key automatically
我正在为 SQLite 数据库使用 Django 模型。
我定义了 CharField 主键(例如属性名称 A
)但是 Django
同步的物理数据库显示另一个主键 rowid
而不是 A
.
我尝试删除 table 并重新同步几次,但还是一样。
为什么?
class TestTable(models.Model):
A = models.CharField(max_length=10, primary_key=True, db_column='A')
--------------------编辑-------------------- --
Django 版本为 1.8.3
SQLITE 数据库总是默认创建一个 rowid 列。这是 SQLITE 用于管理数据库的实际主键。这与您在其他 SQL 数据库中看到的不同,但 SQLITE 在更多方面有很大不同。
有关详细信息,请查看 https://www.sqlite.org/rowidtable.html
P.S。我知道这已经晚了 2 年,但如果不是 OP,它可能会对某人有所帮助。
我正在为 SQLite 数据库使用 Django 模型。
我定义了 CharField 主键(例如属性名称 A
)但是 Django
同步的物理数据库显示另一个主键 rowid
而不是 A
.
我尝试删除 table 并重新同步几次,但还是一样。
为什么?
class TestTable(models.Model):
A = models.CharField(max_length=10, primary_key=True, db_column='A')
--------------------编辑-------------------- --
Django 版本为 1.8.3
SQLITE 数据库总是默认创建一个 rowid 列。这是 SQLITE 用于管理数据库的实际主键。这与您在其他 SQL 数据库中看到的不同,但 SQLITE 在更多方面有很大不同。
有关详细信息,请查看 https://www.sqlite.org/rowidtable.html
P.S。我知道这已经晚了 2 年,但如果不是 OP,它可能会对某人有所帮助。