如何获取 Django Oscar 产品的类别?
How to Get Categories of Django Osacr product?
我有一份产品清单。我想获取与之关联的类别(类别)。
我所做的是:
pro = [] #holds list of all the products
for p in pro:
for procat in p.get_categories():
print(procat)
但它 returns 错误:
'ManyRelatedManager' object is not iterable
我从这里得到了方法DJANGO OSCAR
要获取文档中指定的 ManyToManyField "categories" 的可迭代对象,您可以尝试调用 .all() 方法,例如:
for procat in p.get_categories().all():
from oscar.core.loading import get_model
Product = get_model('catalogue', 'Product')
ProductCategory = get_model('catalogue', 'ProductCategory')
cat_ids = Product.objects.values_list('categories', flat=True)
categories = ProductCategory.objects.filter(pk__in=cat_ids)
我有一份产品清单。我想获取与之关联的类别(类别)。 我所做的是:
pro = [] #holds list of all the products
for p in pro:
for procat in p.get_categories():
print(procat)
但它 returns 错误:
'ManyRelatedManager' object is not iterable
我从这里得到了方法DJANGO OSCAR
要获取文档中指定的 ManyToManyField "categories" 的可迭代对象,您可以尝试调用 .all() 方法,例如:
for procat in p.get_categories().all():
from oscar.core.loading import get_model
Product = get_model('catalogue', 'Product')
ProductCategory = get_model('catalogue', 'ProductCategory')
cat_ids = Product.objects.values_list('categories', flat=True)
categories = ProductCategory.objects.filter(pk__in=cat_ids)