我已经为DRF ViewSet定义了一个滤波器集。drf_yasg将所有filterset字段正确地呈现为列表端点的Swagger中的参数,但对于任何其他端点则不正确。
知道为什么吗?
views.py:
from rest_framework import mixins, viewsets
from django_filters import rest_framework as filters
from drf_yasg import openapi
from drf_yasg.utils import swagger_auto_schema
from my_app.models im
我目前正在开发一个基于django和django-restframework的应用程序。API将根据请求的时间范围(每周)交付json编码的事件/任务对象。如果我认为后端是一个黑框,那么我将讨论一个URL/API方案,如下所示:
calendar/week/<year>/<week_no>/ --> Get all events on isoweek <week_no> in <year>
calendar/week/<year>/ --> Get current isoweek in <ye
我有一个带有自定义权限和过滤器的DRF视图集.在DRF的官方中,它说:
权限检查总是在视图开始时运行,然后才允许进行任何其他代码。
但是我注意到我的filter_backend类是在permission_class之前调用的。这是我的代码:
# my permission
from rest_framework import permissions
class CompanyAccessPermission(permissions.BasePermission):
message = 'Detail of company not allowed.'
考虑以下流程:
public client ----> DRF API on Service A ------> DRF API on Service B
服务A上的一些DRF API只是代理服务B,因此在服务A上的特定API中如下所示:
class SomeServiceAPI(APIView):
def get(request):
resp = requests.get('http://service-b.com/api/...')
return Response(resp.json())
虽然这适用于正常状态,但它有几个
我有一个Django REST框架项目,它使用ModelViewSet为包含FileField的模型创建API。
我已经分享了一个演示这个问题的Django项目的完整示例。但是,总结一下关键的组成部分:
models.py
from django.db import models
class Profile(models.Model):
image = models.FileField(upload_to='uploads/%Y/%m/%d/')
views.py
from rest_framework import (
viewsets,
seri
我正在寻找一种方法,可以从任何google apis中获得组织中未暂停的用户列表,使用oath授权。
google profile api有oauth,但是返回的用户列表不包含isSuspended标志。
google provisioning api返回isSuspended标志,但据我所知,不能被OAUTH授权。
要完成这项任务,我还有其他选择吗?
新的DRF和一切工作,只要我不包括'url‘在字段。我要说的是:
序列化器:
class TaskSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Task
fields = ('pk', 'short_desc', 'scheduled_date')
视图集:
class TaskViewSet(viewsets.ReadOnlyModelViewSet):
queryset = Task.obj
我基本上是DRF的新手&尝试通过移动应用程序创建一个API端点来更新用户,下面是我的代码,
class MobileAppUserUpdateView(APIView):
def post(self, request, format=None):
user = request.user
print('USER',user) #<- prints nothing
print('TOKEN',request.auth) #<- prints the token
使用DRF (Django Rest Framework),我的一个模型有一个IP地址作为主密钥。
class VTE(models.Model):
ipaddr = models.CharField(primary_key=True, max_length=16)
...
问题是PK包含点,当REST URL被组装时,DRF将点解释为格式化选项,而不是主键的一部分。请参阅下面的错误,以及匹配的模式。
Request URL: http://192.168.10.121/api/vtes/172.25.128.29/
Using the URLconf defined in v