Не может получить доступ к членам поля 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
или любое другое, подходящее вам.