Mat*_*rdo 14 python django web-applications django-models
我正在为我的工程公司编写一个Web应用程序(警告:我只是一个爱好的程序员)并计划使用Django直到我遇到这个问题.我想要使用的模型自然具有多列主键.根据http://code.djangoproject.com/ticket/373,我不能使用Django,至少不是发布版本.任何人都可以帮助我解决方法,无论是通过另一个Web框架(仅限基于Python)还是建议对模型进行更改,以便它能够与Django的局限性一起使用?我真的希望有后者,因为我希望以此为契机学习Django.
示例:表1将part_number和part_revision作为应包含主键的两个字段.AP/N可以存在多个版本,但P/N + rev是唯一的.
表2将part_number,part_revision和dimension_number作为其主键.特定转速下的AP/N可以有多个维度,但每个维度都是唯一的.此外,在这种情况下,P/N + rev应该是表1的ForeignKey.
Dom*_*ger 23
为什么不加一个正常的主键,然后指定part_number与part_revision作为unique_together?
这基本上是Djangoish(Djangonic?)做Mitch Wheat所说的方式.
sha*_*nyu 14
我强烈建议使用代理键.不是因为它是"Djangoesque".假设您使用包含part_number的复合键.如果一段时间后贵公司决定更改该字段的格式(以及价值),该怎么办?或者一般来说,任何领域?您不希望处理更改主键.我不知道你在使用由"真实"值组成的复合键时看到了什么好处,但我认为这不值得麻烦.使用无意义的自动增量密钥(这应该会使复合密钥无效).
| 归档时间: |
|
| 查看次数: |
10494 次 |
| 最近记录: |