Python Django:按类查找外键

Python Django:按类查找外键,python,django,django-models,foreign-keys,Python,Django,Django Models,Foreign Keys,我有一堆Django模型,其中一个外键指向Foo类的对象。它们对外键使用不同的名称,即它并不总是foo=models.ForeignKey(foo);它可以是bar=models.ForeignKey(Foo)。我想要一个可以检索Foo对象的方法,而不管字段的名称如何。逻辑是“找到指向Foo对象的单个外键,并获取该对象 这可能吗?假设您有两个类FooBar,FooFoo有一个字段bar,它是FooBar的外键。然后- >>> print Foo.bar.field.rel.to

我有一堆Django模型,其中一个外键指向Foo类的对象。它们对外键使用不同的名称,即它并不总是
foo=models.ForeignKey(foo)
;它可以是
bar=models.ForeignKey(Foo)
。我想要一个可以检索
Foo
对象的方法,而不管字段的名称如何。逻辑是“找到指向
Foo
对象的单个外键,并获取该对象


这可能吗?

假设您有两个类
FooBar
Foo
Foo
有一个字段
bar
,它是
FooBar
的外键。然后-

>>> print Foo.bar.field.rel.to
<class 'appname.models.FooBar'>
>>打印Foo.bar.field.rel.to

您可以编写一个方法,对
Foo
的所有属性进行迭代,并找到与
FooBar
模型对应的属性。

您能不能在所有类中指定一个具有通用名称的
@property
在不同的项目上。那么就没有办法实现这个AFAIK。我同意@karthikr。让一个基类具有一个必须实现的属性,该属性规范化外键字段的名称如何?通过这种方式,您可以为实现该字段的任何类提供一个契约,如果该属性未实现,则引发一个异常d、 @Brandon这是我最初的想法,但是OP仍然必须进入并为每个类定义属性(注意基类不知道确切的字段名,这在所有方面都不一致)