【发布时间】:2020-07-04 02:50:52
【问题描述】:
请帮忙,我有一个使用 char(12) 作为其 PK 的现有数据库。
创建表sop_customer (
customer_id char(12) 非空,
主键 (customer_id),
) ENGINE=InnoDB 默认字符集=utf8;
然后我创建一个 Django 模型并基于 inspectdb 创建一个模型(很棒的工具:-))
问题是当我使用该表的外键创建另一个表时,新表将使用 varchar() 并且由于类型不同(char 与 .varchar),数据库级别的 MySQL 将不遵守关系!
我正在尝试: 1 - 将现有数据库更新为 Varchar(似乎是一个相当极端的操作,只是为了让这个东西工作:-0) 2 - 获取 Django 的外键类以正确识别类型(我了解 ORM 不可知论等)。 2 - 强制 Django 创建一个 char 字段,然后在 Django 中添加约束,尽管我看不出如何在没有繁重的情况下实现这一点 3 - 不使用 Django
救命!
【问题讨论】:
标签: mysql django char foreign-keys varchar