۱ Mohammad
تبدیل یکی از ویوهای جلسات گذشته به class base view
جامعه پایتون (وب) ایجاد شده در ۱۱ دی ۱۴۰۰

سلام دوستان

امیدوارم حالتون عالی باشه.

امکانش هست راهنماییم کنید که چگونه می‌توانم این ویو را که استاد توی جلسات قبل نوشتن رو به صورت کلاس بنویسم؟

def product_detail(request, pk):
    queryset = Product.objects.filter(is_active=True).filter(Q(pk=pk) | Q(upc=pk))
    if queryset.exists():
        product = queryset.first()
        form = AddToBasketForm({'product': product.id, 'quantity': 1})
        return render(request, 'catalogue/product_details.html', {'product': product, 'form': form})
    return Http404

سلام محمد جان

class Product_Detail(DetailView):
    model = Product
    template_name = 'catalogue/product_details.html'
    
    def get_object(self, *args , **kwargs):
        super().get_object(self, *args , **kwargs)
        queryset = Product.objects.filter(is_active=True).filter(Q(pk=kwargs[pk]) | Q(upc=kwargs[pk]))
        return queryset 
    
    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        form = AddToBasketForm({'product': product.id, 'quantity': 1})
        context['form'] = form
        return context
بهترین پاسخ
MAHMAH ۲۶ اسفند ۱۴۰۰، ۱۱:۱۴