我正在使用 Python Django 开发一个 Web 应用程序来管理车辆零件。我已经在 SQLite3 中设计了具有多个表和预填充数据的数据库(不使用 Django)。每个表都有自己的主键,与其他表不同。例如:
Price
表在 8 个位置上使用 Year+Counter
形式的主键。Article
表的主键是 10 个字符的字符串。我使用触发器和其他自定义逻辑创建了这些键。
现在,我想将这个现有的 SQLite 数据库连接到 Django。但是,我遇到了问题,因为 Django 需要它自己的主键逻辑。这不符合我的需求。
任何帮助或指导将不胜感激。谢谢!
您只需将自定义主键添加到您的模型中:
class Article(models.Model):
id = models.CharField(max_length=10, primary_key=True)
# …
db_column=…
[Django-doc] 来指定列的名称。
Django 可以使用很多类型作为主键,但没有对 composite 主键的(本机)支持:主键是其他两个字段的组合。因此主键必须是数据库中的one列。这种复合主键的主要问题是引用它的外键、表单等。