【发布时间】:2013-10-18 15:59:12
【问题描述】:
我有一堆 Django 模型,它们具有指向 Foo 类对象的外键。他们为外键使用不同的名称——即它并不总是foo = models.ForeignKey(Foo);可能是bar = models.ForeignKey(Foo)。我想要一种可以检索Foo 对象的方法,而不管该字段的名称如何。逻辑是“找到指向 Foo 对象的单个 ForeignKey,并获取该对象。
这可能吗?
【问题讨论】:
-
你能不能只指定一个
@property在所有类中都有一个通用名称? -
@karthikr:实际上,这会很困难,因为代码将由从事不同项目的不同人编写。
-
那么没有办法实现这个AFAIK。
-
我同意@karthikr。拥有一个必须实现的属性的基类如何规范化外键字段的名称?通过这种方式,您可以为任何实现此字段的类提供协定,如果该属性未实现,则会引发异常。
-
@Brandon 这是我最初的想法,但随后 OP 仍然必须进入并为每个类定义属性(请注意,基类不知道确切的字段名称,这不是全面一致)
标签: python django django-models foreign-keys