2017-06-12 1 views
0

私は、製品のリストを持っています。私はそれが関連付けられているカテゴリ(カテゴリ)を取得したい。Django Osacrの製品を入手するには?

 pro = [] #holds list of all the products 
     for p in pro: 
      for procat in p.get_categories(): 
       print(procat) 

が、それはエラーで返されます: 何私が行っていることである私はのManyToManyField「カテゴリ」としてのための反復可能なオブジェクトを取得するにはDJANGO OSCAR

答えて

4

ここからメソッドを持っ

'ManyRelatedManager' object is not iterable 

ドキュメント内で指定されている場合、.all()メソッドを呼び出すことができます。例:

for procat in p.get_categories().all(): 
0
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) 
関連する問題