mirror of
https://github.com/jazzband/django-admin2.git
synced 2026-03-19 23:50:31 +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):
|
||||
_default_view_name = 'admin2:%(app_label)s_%(model_name)s_api_detail'
|
||||
|
||||
pk = fields.Field()
|
||||
__unicode__ = fields.Field(source='__str__')
|
||||
pk = fields.ReadOnlyField()
|
||||
__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):
|
||||
model = None
|
||||
raise_exception = True
|
||||
|
||||
def get_serializer_class(self):
|
||||
|
|
@ -90,8 +108,8 @@ class IndexAPIView(Admin2APIMixin, APIView):
|
|||
|
||||
|
||||
class ListCreateAPIView(Admin2APIMixin, generics.ListCreateAPIView):
|
||||
model = None
|
||||
pass
|
||||
|
||||
|
||||
class RetrieveUpdateDestroyAPIView(Admin2APIMixin, generics.RetrieveUpdateDestroyAPIView):
|
||||
model = None
|
||||
pass
|
||||
|
|
|
|||
|
|
@ -200,9 +200,10 @@ class ModelAdmin2(with_metaclass(ModelAdminBase2)):
|
|||
|
||||
def get_api_list_kwargs(self):
|
||||
kwargs = self.get_default_api_view_kwargs()
|
||||
# kwargs.update({
|
||||
# 'paginate_by': self.list_per_page,
|
||||
# })
|
||||
kwargs.update({
|
||||
'queryset': self.model.objects.all(),
|
||||
# 'paginate_by': self.list_per_page,
|
||||
})
|
||||
return kwargs
|
||||
|
||||
def get_api_detail_kwargs(self):
|
||||
|
|
|
|||
Loading…
Reference in a new issue