django __class__方法不适用于m2m关系

时间:2018-10-26 21:31:33

标签: django python-3.x django-models

在我的django项目中,我需要使用对象__class__的反向关系,因为它的反向关系需要使用对象的类名。

这与OneToOne关系正常工作

print(instance.content_object.__class__)

,输出为-

<class 'products.models.ProductCreateModel'>

但是当与m2m一起使用时,它给了我

print(instance.product_seller.__class__)

,输出为-

<class 'django.db.models.fields.related_descriptors.create_reverse_many_to_one_manager.<locals>.RelatedManager'>

如何获取课程名称?

1 个答案:

答案 0 :(得分:1)

这是因为product_seller不是卖方类的实例,而是一个RelatedManager object,用于管理对模型中一组对象的访问。尝试index.html获取该集合中的对象类别。