mirror of
https://github.com/jazzband/django-admin2.git
synced 2026-05-04 21:44:46 +00:00
29 lines
886 B
Python
29 lines
886 B
Python
from rest_framework import fields, generics, serializers
|
|
from .views import Admin2Mixin
|
|
|
|
|
|
class Admin2APISerializer(serializers.HyperlinkedModelSerializer):
|
|
_default_view_name = 'admin2:api_%(app_label)s_%(model_name)s_detail'
|
|
|
|
pk = fields.Field(source='pk')
|
|
__str__ = fields.Field(source='__unicode__')
|
|
|
|
|
|
class Admin2APIMixin(Admin2Mixin):
|
|
def get_serializer_class(self):
|
|
if self.serializer_class is None:
|
|
model_class = self.get_model()
|
|
class ModelAPISerilizer(Admin2APISerializer):
|
|
class Meta:
|
|
model = model_class
|
|
|
|
return ModelAPISerilizer
|
|
return super(Admin2APIMixin, self).get_serializer_class()
|
|
|
|
|
|
class ListCreateAPIView(Admin2APIMixin, generics.ListCreateAPIView):
|
|
pass
|
|
|
|
|
|
class RetrieveUpdateDestroyAPIView(Admin2APIMixin, generics.RetrieveUpdateDestroyAPIView):
|
|
pass
|