0
我制作了一个新的API应用程序来为我的Web应用程序提供所有API请求。所以我想先做一些简单的事情,然后以JSON的形式返回一个DataFrame对象。我也使用Django Rest框架库。Django Restful API应用程序
我urls.py
from django.conf.urls import url, include
from rest_framework import routers
from api import views
router = routers.SimpleRouter()
router.register(r'test', views.UserViewSet)
urlpatterns = [
url(r'^', include(router.urls))
]
我views.py:
class UserViewSet(APIView):
renderer_classes = (JSONRenderer,)
def get(self):
queryset = NAV.objects.filter(fund__account_class=0, transmission=3).values('valuation_period_end_date').annotate(
total_nav=Sum(F('outstanding_shares_par') * F('nav'))).order_by('valuation_period_end_date')
df = read_frame(queryset, coerce_float=True)
df.loc[:, 'valuation_period_end_date'] = pd.to_datetime(df.valuation_period_end_date)
df.loc[:, 'timestamp'] = df.valuation_period_end_date.astype(np.int64) // 10 ** 6
df.loc[:, 'total_nav'] = df.total_nav
return JsonResponse(df)
但我得到的错误AssertionError:
BASE_NAME argument not specified, and could not automatically determine the name from the viewset, as it does not have a
.queryset attribute.
我是新来的Django RESTful的API框架,并想知道如果我这样做对吗?