Mysql Django伪主键
我有一个我无法控制的遗留数据库,我正试图用Django为它创建一个模型。它有一个复合主键,我不想用肮脏的黑客在Django中实现它。仅将其中一个字段指定为主键(即使它不是唯一的)会产生什么后果Mysql Django伪主键,mysql,django,Mysql,Django,我有一个我无法控制的遗留数据库,我正试图用Django为它创建一个模型。它有一个复合主键,我不想用肮脏的黑客在Django中实现它。仅将其中一个字段指定为主键(即使它不是唯一的)会产生什么后果 我只需要做一些简单的数据读取。不涉及写作 既然你不打算写任何东西,我将完全忽略写作所带来的问题 然而,阅读问题可能表现为以下问题之一: 如果指定的主键不唯一,则链接模型(ForeignKey和ManyToManyField)在查找时将失败 Model.objects.get(pk=N)如果您尝试使用主键
我只需要做一些简单的数据读取。不涉及写作 既然你不打算写任何东西,我将完全忽略写作所带来的问题 然而,阅读问题可能表现为以下问题之一:
- 如果指定的
不唯一,则链接模型(ForeignKey和ManyToManyField)在查找时将失败主键
如果您尝试使用主键进行查找,则会返回多个对象Model.objects.get(pk=N)
- 如果指定的主键不唯一,则管理的某些方面可能无法正常工作(例如详细视图)
考虑使用类似的方法来解决标准django行为带来的问题。谢谢你的回答。我最终使用了原始sql,因为它是一个很少执行的函数,并且与我的主应用程序完全解耦。