۲ saeed fadaoddini
آیا به این شکل مدیریت خطا درسته؟
جامعه پایتون (وب) ایجاد شده در ۱۲ آذر ۱۴۰۱
def category_products(request, pk):
    try:
        queryset = Category.objects.prefetch_related('products')
        if queryset:
            category = queryset.get(pk=pk)
            products = Product.objects.filter(category=category)
        else:
            return HttpResponse("Oops! Not Found")
    except Category.DoesNotExist:
        return HttpResponse("Oops! Not Found")
    if products:
        context = "".join([f"{product.title} ===>>>> {product.upc}"
                           f"  |||| - {product.category.name} - |||| \\n"
                           for product in products])
        return HttpResponse(context)
    else:
        return HttpResponse("Oops! Not Found")

من برای سه حالت پیش اومده مجبور شم به این شکل رفتار کنم

سلاااااام سعید عزیز

من دقیقا متوجه نشدم چرا انقد پیچیدش کردی و مشکل کجا بوده که انقد شرط گذاشتی ولی مبحثی هست به نام تک مسئولیتی بهتره متد تو همزمان هم کار represent و هم query زدن به دیتا بیس انجام نده. و اینکه بخشی از اینهارو با منیجر‌ها یا کوئری ست متد‌ها میتونی هندل کنی.


Reza Mobaraki ۱۲ آذر ۱۴۰۱، ۱۵:۵۵

درود سعید عزیز وقتت بخیر

ممنون میشم اگه مسئله حل شده تایید رو بزنی که تاپیک بسته بشه

موفق باشی ?

بهترین پاسخ
Reza Mobaraki ۱۳ آذر ۱۴۰۱، ۱۱:۱۴