Tag: django rest framework

如何更改Django REST框架中的字段名称

我正在尝试更改DRF序列化程序中的模型字段名称,如SQL中的别名。 我尝试过不同的方法,但不能成功。 models.py class Park(models.Model): name = models.CharField(max_length=256) alternate_name = models.CharField(max_length=256, blank=True) objects = models.GeoManager() class Meta: db_table = u'p_park' def __unicode__(self): return '%s' % self.name def alias_alternate_name(self): return self.alternate_name serializers.py class ParkSerializer(serializers.ModelSerializer): location = serializers.Field(source='alias_alternate_name') #location = serializers.SerializerMethodField(source='alias_alternate_name') #alternate_name as location class Meta: model = Park fields = ('id', 'name', 'location') 我也尝试在Django Queryset中添加别名,但无法更改。 更新 […]

将额外的parameter passing给Django Rest Framework中的Serializer类

我想从Viewset传递一些参数给DRF Serializer类,所以我试过这个: class OneZeroSerializer(rest_serializer.ModelSerializer): def __init__(self, *args, **kwargs): print args # show values that passed location = rest_serializer.SerializerMethodField('get_alternate_name') def get_alternate_name(self, obj): return '' class Meta: model = OneZero fields = ('id', 'location') 查看 class OneZeroViewSet(viewsets.ModelViewSet): serializer_class = OneZeroSerializer(realpart=1) #serializer_class = OneZeroSerializer queryset = OneZero.objects.all() 基本上我想传递一些基于querystring从视图到Serializer类的值,然后这些将分配给字段。 这些字段不包含在模型中,实际上是dynamic创build的字段。 在这个问题stackoverflow相同的情况下,但我不明白的答案。 任何人都可以帮助我在这种情况下,或build议我更好的select。

用Django Rest Framework返回当前用户

我目前正在使用Django开发一个API。 但是 ,我想创build一个视图,返回当前用户与以下端点: /users/current 。 为此,我创build了一个列表视图,并将查询集过滤到发出请求的用户。 这有效,但结果是一个列表,而不是一个单一的对象。 结合分页,结果看起来太复杂,与其他端点不一致。 我也尝试创build一个详细信息视图和过滤查询集,但DRF抱怨说我没有提供PK或slu </s>。 你有什么主意吗 ?

Django Rest框架和JSONField

给定一个带有JSONField的Django模型,使用Django Rest Framework序列化和反序列化的正确方法是什么? 我已经试过创build一个自定义的serializers.WritableField并覆盖to_native和from_native : from json_field.fields import JSONEncoder, JSONDecoder from rest_framework import serializers class JSONFieldSerializer(serializers.WritableField): def to_native(self, obj): return json.dumps(obj, cls = JSONEncoder) def from_native(self, data): return json.loads(data, cls = JSONDecoder) 但是当我尝试使用partial=True更新模型时,JSONField对象中的所有浮点数都变成了string。

如何用Django Rest Framework创build多个模型实例?

我想通过一个API调用使用Django Rest Framework保存和更新多个实例。 例如,假设我有一个“教室”模式,可以有多个“教师”。 如果我想创build多个教师,然后更新他们所有的教室号码,我该怎么做? 我是否必须为每位老师进行API调用? 我目前知道我们不能保存嵌套的模型,但是我想知道我们是否可以将它保存在教师级别。 谢谢!

错误:预计`2015-05-29T19:06:16.693209Z`为date – Angular

我正在与Django与rest-framework angular应用程序.. 该应用程序从服务器接收它的信息与JSON。其中一个键是created_time …该created_time的值是格式根据iso-8601 ,例如2015-05-29T19:06:16.693209Z 。 在客户端我有一个字段: <input type="time" ng-model="created_time"> 但是当数据到达时,我得到这个错误: Error: [ngModel:datefmt] Expected `2015-05-29T19:06:16.693209Z` to be a date http://errors.angularjs.org/1.3.13/ngModel/datefmt?p0=2015-05-29T19%3A06%3A16.693209Z at REGEX_STRING_REGEXP (angular.js:63) at Array.<anonymous> (angular.js:19807) at Object.ngModelWatch (angular.js:23289) at Scope.$get.Scope.$digest (angular.js:14235) at Scope.$get.Scope.$apply (angular.js:14506) at done (angular.js:9659) at completeRequest (angular.js:9849) at XMLHttpRequest.requestLoaded (angular.js:9790) 我已经尝试了一切:(格式是完全一样的angular度文档中的说明…

如何获取Django-Rest-Framework序列化程序中的Request.User?

我试过这样的东西,这是行不通的。 class PostSerializer(serializers.ModelSerializer): class Meta: model = Post def save(self): user = self.context['request.user'] title = self.validated_data['title'] article = self.validated_data['article'] 我需要一种能够从我的Serializer类访问request.user的方法。

如何使用Django REST框架进行POST简单的JSON? CSRF令牌丢失或不正确

希望有人向我演示如何使用JSON和Django REST框架进行一个简单的POST请求。 我在教程的任何地方都没有看到这个例子吗? 这是我想要发布的我的angular色模型对象。 这将是一个全新的angular色,我想添加到数据库,但我得到一个500错误。 { "name": "Manager", "description": "someone who manages" } 这是我在一个bashterminal提示符下的curl请求: curl -X POST -H "Content-Type: application/json" -d '[ { "name": "Manager", "description": "someone who manages" }]' http://localhost:8000/lakesShoreProperties/role url http://localhost:8000/lakesShoreProperties/roles 是否可以使用GET请求,并且可以取消数据库中的所有angular色,但似乎无法创build任何新的angular色。 我没有权限设置。 我在views.py中使用标准视图 class RoleDetail(generics.RetrieveUpdateDestroyAPIView): queryset = Role.objects.all() serializer_class = RoleSerializer format = None class RoleList(generics.ListCreateAPIView): queryset = Role.objects.all() serializer_class = RoleSerializer […]

Django:Rest框架validation标题

使用Django REST API,我试图validation我的请求。 这是我想发送的内容: Content-Type: application/json, Authentication: token="6d82549b48a8b079f618ee9c51a6dfb59c7e2196" 这是我回来的: {"detail": "Authentication credentials were not provided."} 有人能给我正确的标题吗? 谢谢 标题: Accept: application/json Content-Type: application/json Authorization: Token 6d82549b48a8b079f618ee9c51a6dfb59c7e2196 Connection: keep-alive Origin: chrome-extension: //rest-console-id User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17 Settings.py REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.authentication.TokenAuthentication', 'rest_framework.permissions.IsAdminUser', ), 'PAGINATE_BY': 10 […]

Django Rest框架 – 在序列化器中获取相关的模型字段

我试图从Django Rest Framework返回一个HttpResponse,包括来自两个链接模型的数据。 这些模型是: class Wine(models.Model): color = models.CharField(max_length=100, blank=True) country = models.CharField(max_length=100, blank=True) region = models.CharField(max_length=100, blank=True) appellation = models.CharField(max_length=100, blank=True) class Bottle(models.Model): wine = models.ForeignKey(Wine, null=False) user = models.ForeignKey(User, null=False, related_name='bottles') 我想有一个Bottle模型的序列化器,其中包含来自相关Wine的信息。 我试过了: class BottleSerializer(serializers.HyperlinkedModelSerializer): wine = serializers.RelatedField(source='wine') class Meta: model = Bottle fields = ('url', 'wine.color', 'wine.country', 'user', 'date_rated', 'rating', 'comment', 'get_more') […]