• 1399/05/19

محصولات مرتبط :

سلام. با روش گفته شده برای پیاده سازی محصولات مرتبط، خود اون محصول هم نشون میده که طبیعتا نباید اینطور باشه. کسی از دوستان راه حلی برای این موضوع داره؟

  • 1399/05/19
  • ساعت 20:35

سلام دوست من

از داخل کوئری مورد نظر ، محصول اصلی رو حذف کنین و یا هنگام اجرای حلقه ، ایتمی که id اون با id محصول اصلی یکی هست رو از لیست خارج کنین


  • 1399/05/22
  • ساعت 01:19

با استفاده از دستور exclude داخل query_set می تونین آیتم با مشخصات وارد شده ignore کنین.

def get_related_products(self):
    return self.get_queryset.exclude(id=product_id).filter(category=productcategoty)

کد بالا به عنوان مثاله و فیلترهاش درست نیست


  • 1399/05/25
  • ساعت 16:50
related_product = Product.objects.get_queryset().filter(categories__product=product).exclude(title=product.title).distinct()

این کد رو برای فیلتر اضافه کن


  • 1399/05/25
  • ساعت 16:56
related_product = Product.objects.get_queryset().filter(categories__product=product).exclude(id=product.id).distinct()

با ایدی فیلتر شه بهتره :))


  • 1399/05/25
  • ساعت 17:06

اینم بگم اگر میخواهید بگید مثلا اگر محصولات بیشتر از یک دسته بود، علامت برای جابه‌جا اگر محصولات مرتبط بیاد این رو بزنید:

{% if grouped_related_product|length > 1 %}
                            <a class="left recommended-item-control" href="#recommended-item-carousel"
                               data-slide="prev">
                                <i class="fa fa-angle-left"></i>
                            </a>
                            <a class="right recommended-item-control" href="#recommended-item-carousel"
                               data-slide="next">
                                <i class="fa fa-angle-right"></i>
                            </a>
                        {% endif %}

 


  • 1399/05/28
  • ساعت 19:54

درود بر شما

این کد توی پروژه خودم تست کردم جواب داده شماهم تست کنین احتمال قوی جواب میگیرین

 

related_products = Product.objects.get_queryset().exclude(id=selected_product_id).filter(categories__product=selected_product_id).distinct()


logo-samandehi