#python #django
#питон #django
Вопрос:
Пожалуйста, укажите тип: ‘django.db.models.поля.related_descriptors.Много связанных менеджеров».
Другими словами, как импортировать модуль, чтобы утверждать, что поле ‘user.groups’ имеет тип ‘django.db.models.поля.related_descriptors.Много связанных менеджеров»?
from django.db.models.fields import related_descriptors
# AttributeError: 'module' object has no attribute 'ManyRelatedManager'
self.assertIsInstance(user.groups, related_descriptors.ManyRelatedManager)
print(type(dummy_user.groups)) # <class 'django.db.models.fields.related_descriptors.ManyRelatedManager'>
Вот в чем ошибка:
Ошибка атрибута: объект ‘module’ не имеет атрибута ‘ManyRelatedManager
Спасибо
Комментарии:
1. Попробовал мое решение?
Ответ №1:
Вы не можете сделать такое утверждение на user.groups
и related_descriptors.ManyRelatedManager
.
ManyRelatedManager
Класс недоступен с помощью import like from django.db.models.fields import related_descriptors
, потому что, если вы посмотрите на исходный код django, ManyRelatedManager
он находится внутри create_forward_many_to_many_manager
функции.
PS Я не вижу никаких причин, по которым вы хотите проверить тип user.groups
. Это всегда одно и то же и уже проверено тестами django.