Не может получить доступ к членам поля ManyToManyField

Я хочу получить товары, которые подключены к моей форме, например:['shirt' , 'hat']. но это дает мне связанный метод Manager вместо Queryset

в models.py

from django.db import models
from eshop_product.models import Product

class Form(models.Model):
    user_name = models.CharField(max_length=600, null=True, blank=True)
    first_name = models.CharField(max_length=600, null=True, blank=True)
    products = models.ManyToManyField(Product, blank=True)

в файле views.py

def checkOut(request):
    user = request.user
    products = Form.objects.filter(user_name=user.username)[0].products.all
    for product in products:
        print(product.title)

Вот возвращаемая ошибка:

'ManyRelatedManager' object is not iterable

Вы делаете это в представлении, а не в шаблоне, поэтому попробуйте сделать это с помощью метода all(), а не только all, поэтому попробуйте такой вид:

views.py

def checkOut(request):
    user = request.user
    products = Form.objects.filter(user_name=user.username)[0].products.all()
    for product in products:
        print(product.title)

Note: Form - это встроенный класс в библиотеке форм, поэтому измените его имя с Form на что-нибудь вроде UserForm или любое другое, подходящее вам.

Вернуться на верх