Django假主键

时间:2013-03-19 03:01:40

标签: mysql django

我有一个我无法控制的遗留数据库,我正在尝试在Django中为它创建一个模型。它有一个复合主键,我不希望在Django中创建它来实现它。将一个字段指定为主键即使它不是唯一的,会产生什么后果。

我只需要做一些简单的数据读取。不涉及写作。

1 个答案:

答案 0 :(得分:1)

由于你不会做任何写作,我将完全忽略写作中存在的问题。

然而,阅读问题可能表现为以下之一:

  • 如果您指定的primary_key不是唯一的,则链接模型(ForeignKey和ManyToManyField)将在查找时失败

  • 如果您尝试使用主键进行查找,
  • Model.objects.get(pk=N)将失败并显示MultipleObjectsReturned

  • 如果您指定的主键不是唯一的,管理员的某些方面可能无法正常工作(例如详细视图)

可能还有其他我没有想过的事。

考虑使用像django-compositekey这样的东西来处理试图解决标准django行为的问题。