mirror of
https://github.com/jazzband/django-admin2.git
synced 2026-05-18 20:21:14 +00:00
Update DRF 3
This commit is contained in:
parent
f0a5ac67e4
commit
eafe2ac7c1
2 changed files with 26 additions and 7 deletions
|
|
@ -16,11 +16,29 @@ API_VERSION = '0.1'
|
||||||
class Admin2APISerializer(serializers.HyperlinkedModelSerializer):
|
class Admin2APISerializer(serializers.HyperlinkedModelSerializer):
|
||||||
_default_view_name = 'admin2:%(app_label)s_%(model_name)s_api_detail'
|
_default_view_name = 'admin2:%(app_label)s_%(model_name)s_api_detail'
|
||||||
|
|
||||||
pk = fields.Field()
|
pk = fields.ReadOnlyField()
|
||||||
__unicode__ = fields.Field(source='__str__')
|
__unicode__ = fields.ReadOnlyField(source='__str__')
|
||||||
|
|
||||||
|
def get_extra_kwargs(self):
|
||||||
|
extra_kwargs = super(Admin2APISerializer, self).get_extra_kwargs()
|
||||||
|
extra_kwargs.update({
|
||||||
|
'url': {'view_name': self._get_default_view_name(self.Meta.model)}
|
||||||
|
})
|
||||||
|
return extra_kwargs
|
||||||
|
|
||||||
|
def _get_default_view_name(self, model):
|
||||||
|
"""
|
||||||
|
Return the view name to use if 'view_name' is not specified in 'Meta'
|
||||||
|
"""
|
||||||
|
model_meta = model._meta
|
||||||
|
format_kwargs = {
|
||||||
|
'app_label': model_meta.app_label,
|
||||||
|
'model_name': model_meta.object_name.lower()
|
||||||
|
}
|
||||||
|
return self._default_view_name % format_kwargs
|
||||||
|
|
||||||
class Admin2APIMixin(Admin2Mixin):
|
class Admin2APIMixin(Admin2Mixin):
|
||||||
|
model = None
|
||||||
raise_exception = True
|
raise_exception = True
|
||||||
|
|
||||||
def get_serializer_class(self):
|
def get_serializer_class(self):
|
||||||
|
|
@ -90,8 +108,8 @@ class IndexAPIView(Admin2APIMixin, APIView):
|
||||||
|
|
||||||
|
|
||||||
class ListCreateAPIView(Admin2APIMixin, generics.ListCreateAPIView):
|
class ListCreateAPIView(Admin2APIMixin, generics.ListCreateAPIView):
|
||||||
model = None
|
pass
|
||||||
|
|
||||||
|
|
||||||
class RetrieveUpdateDestroyAPIView(Admin2APIMixin, generics.RetrieveUpdateDestroyAPIView):
|
class RetrieveUpdateDestroyAPIView(Admin2APIMixin, generics.RetrieveUpdateDestroyAPIView):
|
||||||
model = None
|
pass
|
||||||
|
|
|
||||||
|
|
@ -200,9 +200,10 @@ class ModelAdmin2(with_metaclass(ModelAdminBase2)):
|
||||||
|
|
||||||
def get_api_list_kwargs(self):
|
def get_api_list_kwargs(self):
|
||||||
kwargs = self.get_default_api_view_kwargs()
|
kwargs = self.get_default_api_view_kwargs()
|
||||||
# kwargs.update({
|
kwargs.update({
|
||||||
# 'paginate_by': self.list_per_page,
|
'queryset': self.model.objects.all(),
|
||||||
# })
|
# 'paginate_by': self.list_per_page,
|
||||||
|
})
|
||||||
return kwargs
|
return kwargs
|
||||||
|
|
||||||
def get_api_detail_kwargs(self):
|
def get_api_detail_kwargs(self):
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue