Articles of django rest framework

Crea un serializador genérico con un modelo dynamic en Meta.

cuando creo un serializador en django-rest0-framework, basado en un ModelSerializer, tendré que pasar el modelo en la clase Meta: class ClientSerializer(ModelSerializer): class Meta: model = Client Quiero crear un serializador general que, basado en la URL, incluya el modelo dinámicamente. Mi configuración hasta ahora incluye las urls.py y el conjunto de vistas: urls.py: url(r’^api/v1/general/(?P\w+)’, kernel_api_views.GeneralViewSet.as_view({‘get’:’list’})) […]

La actualización de m2m no es posible cuando se usan serializadores como campos

Tengo los siguientes modelos: class Song(models.Model): name = models.CharField(max_length=64) def __unicode__(self): return self.name class UserProfile(AbstractUser): current = models.ManyToManyField(Song, related_name=”in_current”, blank=True) saved = models.ManyToManyField(Song, related_name=”in_saved”, blank=True) whatever = models.ManyToManyField(Song, related_name=”in_whatever”, blank=True) def __unicode__(self): return self.get_username() y siguientes serializadores: class SongSerializer(serializers.ModelSerializer): class Meta: model = Song class UserProfileSongsSerializer(serializers.ModelSerializer): current = SongSerializer(many=True) saved = SongSerializer(many=True) whatever = SongSerializer(many=True) […]

¿Cómo lograr que djangorestframework devuelva xml utilizando el sufijo de formato?

Puedo obtener djangorestframework para devolver json a través de un sufijo de formato .json, pero no devolver xml a través de un sufijo .xml http://127.0.0.1:8000/chat/rooms/.json [ { id: 1, timestamp: “2013-12-05T04:27:42Z”, topic: “important one” }, { id: 2, timestamp: “2013-12-05T04:27:49Z”, topic: “important two” }, { id: 3, timestamp: “2013-12-05T04:27:55Z”, topic: “important three” }, { id: […]

Cómo obtener una respuesta de varios objetos utilizando rest_framework y Django

Soy nuevo en el framework Django y el framework REST de Django, pero tengo la configuración básica y la implementación en ejecución. Funciona como un encanto cuando llamo al dominio para objetos individuales, por ejemplo, http://mydomain.com/location/1 (donde 1 es la clave principal). Esto me da la respuesta JSON como: {“id”: 1, “location”: “Berlin”, “country”: 2} […]

Filtrado en django rest framework

En mi proyecto uso django rest framework. Para filtrar los resultados utilizo el backend django_filters. Ahí está mi código: modelos.py from django.db import models class Region(models.Model): name = models.CharField(max_length=100, blank=True, null=False) class Town(models.Model): region = models.ForeignKey(Region) name = models.CharField(max_length=100, blank=True, null=False’) filters.py import django_filters from models import Town class TownFilter(django_filters.FilterSet): region = django_filters.CharFilter(name=”region__name”, lookup_type=”contains”) town […]

¿Cómo se puede personalizar la salida de los serializadores de Django Rest Framework?

Tengo un modelo Django que es así: class WindowsMacAddress(models.Model): address = models.TextField(unique=True) mapping = models.ForeignKey(‘imaging.WindowsMapping’, related_name=’macAddresses’) Y dos serializadores, definidos como: class WindowsFlatMacAddressSerializer(serializers.Serializer): address = serializers.Field() class WindowsCompleteMappingSerializer(serializers.Serializer): id = serializers.Field() macAddresses = WindowsFlatMacAddressSerializer(many=True) clientId = serializers.Field() Al acceder al serializador sobre una vista, obtengo el siguiente resultado: [ { “id”: 1, “macAddresses”: [ { […]

Django Rest Framework – ¿La mejor manera de lidiar con los errores de validación de parámetros de API?

¿Cuál sería una forma eficiente de generar mensajes de error durante la validación de parámetros de solicitud HTTP y serializarlos? Actualmente, como lo tengo: except Section.DoesNotExist: return Response(headers = {‘INTERNAL_MSG’: ‘SECTION_NOT_FOUND’, ‘INTERNAL_CODE’: ‘400’}, status = status.HTTP_200_OK) Pero, me parece que esta no es una buena manera de hacerlo, ya que estoy inyectando mensajes de error […]

django rest framework crear usuario con contraseña

Usando django-rest-framework 3 y django 1.8 Estoy tratando de crear un usuario usando el ModelViewSerializer de django-rest-framework. El problema es que el método predeterminado de objects.create utilizado por DRF deja la contraseña como texto simple. El problema es que el método de creación de serializador DRF está utilizando objects.create querysets / # create method en […]

¿Cómo se pueden ignorar los tokens CSRF enviados a Django REST Framework?

Tengo una aplicación angularjs de una sola página que utiliza autenticación JWT. Debido a que los JWT se envían con cada solicitud única, parece redundante usar tokens CSRF en mis formularios. Para deshabilitar la comprobación de CSRF, comenté ‘django.middleware.csrf.CsrfViewMiddleware’ en mis clases de middleware settings.py. Todo esto funciona bien. Sin embargo, cuando uso el panel […]

Django rest marco de retorno de archivo

Tengo la siguiente vista en mi views.py – class FilterView(generics.ListAPIView): model = cdx_composites_csv def get(self, request, format=None): vendor = self.request.GET.get(‘vendor’) filename = self.request.GET.get(‘filename’) tablename = filename.replace(“.”,”_”) model = get_model(vendor, tablename) filedate = self.request.GET.get(‘filedate’) snippets = model.objects.using(‘markitdb’).filter(Date__contains=filedate) serializer = cdx_compositesSerializer(snippets, many=True) if format == ‘raw’: zip_file = open(‘C:\temp\core\files\CDX_COMPOSITES_20140626.zip’, ‘rb’) response = HttpResponse(zip_file, content_type=’application/force-download’) response[‘Content-Disposition’] = ‘attachment; […]