【发布时间】:2016-05-13 03:54:57
【问题描述】:
假设我有以下结构:
class Foo(models.Model):
pass
class Bar(models.Model):
foo = models.ForeignKey(Foo, related_name='bars')
我希望单个 Bar 对象在自动递增 ID 和父 Foo 对象上都被键入。对于每个Foo,我希望下面的Bars 始终是1,2,3。最终目的是通过 URI 访问Bars,例如:
/foos/1/bars/1
/foos/2/bars/1
请注意,有两个 Bars 具有相同的 ID,但主键来自 Bar 及其父 Foo 的 ID 的唯一性。
我以为我在Meta 类的unique_together 属性中找到了答案:
class Bar(models.Model):
foo = models.ForeignKey(Foo, related_name='bars')
class Meta:
unique_together = ('foo', 'id')
但不幸的是,这仍然会导致每个 Bar 的唯一 ID。我总是希望每个 Foo 的第一个 Bar 的 ID 为 1。
【问题讨论】:
标签: python sql django django-models django-rest-framework