django __class__ метод не работает на m2m отношениях - PullRequest
0 голосов
/ 27 октября 2018

В моем проекте 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 голосов
/ 27 октября 2018

Это потому, что product_seller не является экземпляром класса продавца, это RelatedManager объект , который управляет доступом к набору объектов из вашей модели. Попробуйте instance.product_seller.model, чтобы получить класс объектов в этом наборе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...