擅长:python、mysql、java
<p>正如@Ivan所提到的,如果您想要一个API层,DRF会立即完成这项工作,但是如果您只是希望一个基本视图返回一些json而不需要配置新包的开销,那么对于django的序列化器来说,这应该是一个相当简单的操作:</p>
<pre><code>from django.core import serializers
def get_cashflows(request):
response_data = {}
cashflow_set = Cashflow.objects.all();
i = 0;
for e in cashflow_set.iterator():
c = Cashflow(value=e.value, date=str(e.date));
response_data[i] = c;
return HttpResponse(
serializers.serialize("json", response_data),
content_type="application/json"
)
</code></pre>
<p>即使默认的json序列化程序不能完全满足您的需要,这些文档也对如何实现这一点进行了很好的分解</p>
<p><a href="https://docs.djangoproject.com/en/1.10/topics/serialization/#serialization-formats-json" rel="nofollow">https://docs.djangoproject.com/en/1.10/topics/serialization/#serialization-formats-json</a></p>
<p>还要注意:</p>
<p>您可以直接使用queryset<code>serializers.serialize("json", Cashflow.objects.all())</code></p>
<p>你也不会在循环中递增<code>i</code>。。。</p>