2012-01-12 50 views

回答

2

要跟进Max Peterson's answer,这里是代码,你可以使用:

class RelationshipMixin(object): 
    def field_relating_to(other): 
     for field in self._meta.fields: 
      if hasattr(field, 'rel') and field.rel.to == other: 
       return field.name 
     return None 

class Spam(models.Model, RelationshipMixin): 
    egg = models.ForeignKey(Egg) 

然后

>>> Spam.field_relating_to(Egg) 

应该工作。

请注意,这可能会匹配一对一和多对多的关系,所以如果检查这一点很重要,您将不得不稍微更改一些代码。

没有测试过,所以仔细检查。

4

查找Spam._meta.fields第一场具有rel.to蛋

相关问题