تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
1 الرد
2515 أدوات العرض

Hi,


I have a product (t-shirts) with different product_no_variant_attribute_value_ids like colors, sizes, styles, etc


I'm creating a report and need search and show only the products that have the product_no_variant_attribute_value_ids == 'COLOR', like this


X brand T-shirt -> blue

Y brand T-shirt -> red


The solution I've found is to loop through EVERY attribute of that product and see if it matches "COLOR", but there must be an easier way


My code:

⩽t t-foreach="doc.order_line" t-as="line"⩾
    ⩽t t-set="counter" t-value="0"⩾
    ⩽t t-foreach="line.product_no_variant_attribute_value_ids.attribute_id" t-as="attrib"⩾
        ⩽t t-if="attrib.name == 'COLOR'"⩾            
            ⩽span t-field="line.product_id.name"⩾
            ⩽span t-field="line.product_no_variant_attribute_value_ids.product_attribute_value_id[counter].name"⩾
        ⩽/t⩾
        ⩽t t-set="counter"\ t\-value="counter+1"⩾
    ⩽/t⩾
⩽/t⩾



How can I search if the product_no_variant_attribute_value_ids contains an attribute named color?





الصورة الرمزية
إهمال
الكاتب أفضل إجابة

Found it, the answer is:

line\.product_no_variant_attribute_value_ids\.filtered\(lambda\ x:\ x.attribute_id.name == 'COLOR').product_attribute_value_id.name

الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
4
نوفمبر 23
3182
3
مارس 21
6780
1
مارس 15
6879
1
مارس 15
5923
2
مارس 24
1538