簡體   English   中英

Django CBV 返回 JsonResponse?

[英]Django CBVs to return a JsonResponse?

我一直在使用 Django 一段時間,但在嘗試新事物時遇到了一些問題。

我已經使用基於 Class 的視圖構建了帶有 Django-Rest-Framework 的 API,並且我還使用基於 Function 的視圖構建了 API,返回了JsonResponse

現在我的任務是在不使用 DRF 的情況下使用 CBV 返回JsonResponse 我正在嘗試生成一個簡單的獲取請求

class BusinessDetailView(DetailView):
    model = BusinessDetail

    def get_queryset(self):
        business = BusinessDetail.objects.get(id=self.kwargs.get('pk'))
        return JsonResponse({'business': list(business)})

使用模型pk我一直遇到這個簡單請求的問題。 我收到TypeError 'BusinessDetail' object is not iterable如果我做了一些小的更改並覆蓋get_object我會得到同樣的錯誤,或者我什至會得到一個'BusinessDetail' object is not callable

在不使用 DRF 的情況下,是否有人對使用 CBV 返回 Json 有任何提示?

謝謝大家!

我會嘗試這樣的事情:

class BusinessDetailView(DetailView):
    model = BusinessDetail

    def get_queryset(self):
        business = BusinessDetail.objects.get(id=self.kwargs.get('pk'))
        return business

    def get(self, request, *args, **kwargs):
        queryset = self.get_queryset()
        data = serializers.serialize("json", queryset)
        return JsonResponse(data, status=200, safe=False) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM