【发布时间】:2021-06-15 03:00:48
【问题描述】:
我有两个相关的模型。从一个的对象,我想得到另一个的类name。目前,我正在这样做:
associated_model = getattr(object_specific, associated_model_str)
associated_model_instance = associated_model.all().first()
if associated_model_instance:
associated_model_name = associated_model_instance.__class__.__name__
在这种情况下,object_specific 是模型的对象。 associated_model_str 是该模型中引用第二个模型的属性的名称。当我将属性放入associated_model 时,此变量包含第二个模型的相关管理器。如果我这样做.all().first(),我将从该模型中获取一个对象,通过检查属性.__class__.__name__,我可以从中获取类名。问题是有时我在数据库中没有第二个模型的任何实例与第一个模型的实例相关联。换句话说,.all() 是空的。所以我没有第二个类的实例来获取类名。如何直接从 RelatedManager 中获取该类名?
【问题讨论】:
标签: python django django-related-manager