通过将json数据移动到u

2024-07-03 07:07:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我请求在django rest框架中开发API。我想为移动应用程序创建API。你知道吗

为了减少通信量,我需要从json中删除“userid”,并从url中确定它。我该怎么做?你知道吗

网址:

urlpatterns = [
        url(r'^measurement/(?P<user>\d+)$', views.usermeasurement),
]

型号

class UserMeasurement(models.Model):
    user_id = models.IntegerField(blank=True, null=True)
    numb = models.DecimalField(max_digits=20, decimal_places=10, blank=True, null=True)
    measurent_code = models.CharField(max_length=50, null=True)


    def __unicode__(self):
        return self.sync_id

    def save(self, *args, **kwargs):
        return super(UserMeasurement, self).save(*args, **kwargs) 

    class Meta:
        managed = False
        db_table = 'user_measurement'

序列化程序:

class UserMeasurementSerializer(serializers.HyperlinkedModelSerializer):

   class Meta:
        model = UserMeasurement
        fields = ('user_id', 'numb', 'measurent_code',)

视图:

def usermeasurement (request,user):

    try:
        usermeasurement = UserMeasurement.objects.filter(user_id=user)
    except UserMeasurement.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)

    elif request.method == 'POST':
        uv = UserMeasurement(user_id=user)
        serializer = UserMeasurementSerializer(uv, data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

Tags: selfidtruereturnmodelsrequestsavedef
1条回答
网友
1楼 · 发布于 2024-07-03 07:07:59

您的意思是在视图中您想从url获取用户id吗?你知道吗

具体如下:

视图:

def usermeasurement (request, *args, **kwargs):
    user_id = kwargs['user']
    ....

相关问题 更多 >