如何将具有自定义主键的现有 SQLite 数据库连接到 Django?

问题描述 投票:0回答:1

我正在使用 Python Django 开发一个 Web 应用程序来管理车辆零件。我已经在 SQLite3 中设计了具有多个表和预填充数据的数据库(不使用 Django)。每个表都有自己的主键,与其他表不同。例如:

  • Price
    表在 8 个位置上使用
    Year+Counter
    形式的主键。
  • Article
    表的主键是 10 个字符的字符串。

我使用触发器和其他自定义逻辑创建了这些键。

现在,我想将这个现有的 SQLite 数据库连接到 Django。但是,我遇到了问题,因为 Django 需要它自己的主键逻辑。这不符合我的需求。

  1. 有没有办法将我现有的 SQLite 数据库及其自定义主键连接到 Django?
  2. 如果没有,是否有其他Python框架可以更好地支持我的数据库结构和逻辑?

任何帮助或指导将不胜感激。谢谢!

python-3.x sqlite django-models
1个回答
0
投票

您只需将自定义主键添加到您的模型中:

class Article(models.Model):
    id = models.CharField(max_length=10, primary_key=True)
    # …

您还可以为字段指定不同的名称,或者使用

db_column=…
 [Django-doc] 来指定列的名称。

Django 可以使用很多类型作为主键,但没有对 composite 主键的(本机)支持:主键是其他两个字段的组合。因此主键必须是数据库中的one列。这种复合主键的主要问题是引用它的外键、表单等。

© www.soinside.com 2019 - 2024. All rights reserved.