我必须获得与我当前模型相关的所有模型。关系可以是ForeignKey,ManyToManyField或OneToONeField,来自此模型或此模型。
例如:
我有一个模特:
class MyModel(models.Model):
field = models.Charfield(...)
type = models.ForeignKey('Type', ...)
class AnotherModel(models.Model):
label = models.ForeignKey(MyModel, ...)
...
class Type(models.Model):
name = models...
...
我需要找到模型MyModel
的相关模型,这意味着如果我有一个函数get_related_models
,
get_related_models(MyModel)
应该返回[AnotherModel,Type]
注意:最终的用途是,当此模型及其相关模型发生任何变化时,我需要使MyModel
的缓存无效(使用一些post_save
)。
答案 0 :(得分:2)
您可以从_meta
选项开始。
[rel.model for rel in MyModel._meta.get_all_related_objects()]