@DmitrIvanov
Веб-разработка

Почему поле со связанной категорией выдает None?

Суть вопроса такова при вызове модели во вьюхи django я хочу вывести категорию или категории связанные с товаром.
Товар связан с категорией такой связью:
category = models.ManyToManyField(Category, null=True, blank=True)

Код во вьюхи:
tv= Tovar.objects.filter(id = 1)
for item in tv:
    category = item.category
    print(category.name)

Почему в консоли заместо категории товара выдается значение None, а в административной панели джанго все работает и выводится?
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
Отношение Many to Many предназначено для хранения множества объектов, как следует из его названия, а не одного. Поэтому в поле category хранится не одна категория, имеющая поле name, а relation manager, позволяющий получить набор категорий:
tv = Tovar.objects.filter(id = 1)
for item in tv:
    for category in item.category.all():
        print(category.name)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы