gulasch-r0mstore/roms/views.py

30 lines
781 B
Python

from django.views.generic.list import ListView
from django.views.generic.detail import DetailView
from django.http import JsonResponse
from roms.models import Rom
class RomListJson(ListView):
def get_queryset(self):
return Rom.objects.all().filter(approved = True)
def render_to_response(self, context, **response_kwargs):
queryset = self.get_queryset()
json = {}
for rom in queryset:
json[rom.id] = rom.name
return JsonResponse(json, **response_kwargs, safe=False)
class RomDetailViewJson(DetailView):
model = Rom
pk_url_kwarg = 'id'
def render_to_response(self, context, **response_kwargs):
rom = self.get_object()
return JsonResponse(rom.to_json(), **response_kwargs, safe=False)