def get_recommended_products(cls, lang, family=None, category=None, subcategory=None):
products = []
query = Q(most_sold=True) | Q(product__products_image__principal=True)
if family is not None:
query &= Q(product__family=category)
if category is not None:
query &= Q(product__category=category)
if subcategory is not None:
query &= Q(product__subcategory=subcategory)
for product in cls.query_or(
query,
"{}__slug".format(lang),
"offer",
"created",
"offer",
"pk",
"product__{}__name".format(lang),
"product__model",
"product__brand__{}__name".format(lang),
"product__products_image__image",
"{}__meta_title".format(lang),
slug="{}__slug".format(lang),
meta_title="{}__meta_title".format(lang),
image="product__products_image__image",
name="product__{}__name".format(lang),
pop_annotations=True
):
product['new'] = 1 if (timezone.now() - product['created']).days <= settings.CDNX_PRODUCTS_NOVELTY_DAYS else 0
products.append(product)
return products
评论列表
文章目录