我的urlpatterns中有以下URL:url(r'^user/(?P[0-9]+)/device/(?P[0-9a-fA-F\-]+)$',views.UserDeviceDetailView.as_view(),name='user-device-detail'),注意它有两个字段:user_pk和uid。URL类似于:https://example.com/user/410/device/c7bda191-f485-4531-a2a7-37e18c2a252c。在该模型的详细View中,我试图填充一个url字段,该字段将包含返回模型的链接。在序列化器中,我有:url=seria
我一直在尝试更改DjangoRESTFramework管理面板的表单字段的值,但由于某种原因,更改从未发生。我有下面的序列化程序classSomeView(ModelViewSet):queryset=MyModel.objects.all()serializer_class=MyModelSerializer#IWanttooverridethisandchangethePOSTdatadefperform_create(self,serializer):user=self.request.user.id#thiswasaformfieldwhereImanuallyenteredt
自版本3.3以来,不再可能在View上定义page_size,因为它已移至分页器类。relateddeprecations我们的API为不同的View定义了不同的page_sizes,添加新的分页器子类只是为了覆盖page_size属性让人感觉模棱两可。我无法在View定义中实例化分页器类并使用实例化的__init__方法here.我可以覆盖它并使它成为一个方法,该方法返回一个使用正确参数实例化的实例,但由于它的名称不是get_pagination_class,这可能不是一个好主意。我的问题是,使用适当的page_size属性集动态创建分页器类的最简洁方法是什么?我看过this问题,我
我有架构问题。我正在使用Django(带有管理面板)和DRF(使用JWT进行无状态身份验证的api)。Django具有由模型表示的管理员用户,该模型或多或少与默认的Django用户模型相同。管理员只能使用DjangoAdmin,不能使用DRFapi。DRF的API用户只能通过DRF使用api,不能与DjangoAdmin或DjangoSession等交互。我知道最好的方法是使用多模型继承,比如:classUser(DjangoUserModel):passclassAdmin(User):passclassAPI(User):passAUTH_USER_MODEL="User"但问题是
我已经在使用内置的Djangorestauthtoken,我计划发布另一个api,外部集成将调用该api以调用我的Django应用程序中的某些操作。问题是我想为此外部api调用生成另一个token,该token必须与身份验证系统分开(例如MandrillAPIkey或Github个人访问token)。从Djangorestframeworkauthtoken模型生成apikey是一个好的解决方案吗?外部APItoken:绝不能过期(它可能在session身份验证系统中过期)可以链接到用户但不是必需的(如果链接到帐户)可以撤销和重新激活您有发布apikey的经验吗?是否有DjangoRe
我不知道为什么documentation说:Thatdoesn'tmeanit'salwaystherightapproachtotake.There'sasimilarsetoftrade-offstoconsideraswhenusingclass-basedviewsinsteadoffunctionbasedviews.Usingviewsetsislessexplicitthanbuildingyourviewsindividually.如果我想制作一个RESTAPI(比如在ruby-on-rail中),我认为viewsets是一个很好的方法。谁能解释一下?
我在Linode中使用djangorest框架创建了一个API服务器。现在,我想检查每个请求的数量和响应代码,我想获取我的api的统计信息。我该怎么做?非常感谢。 最佳答案 DRFTracking是跟踪对DRFAPIView请求的实用程序,它可能适合您:安装:pipinstalldrf-tracking应用迁移:pythonmanage.pymigrate将以下内容添加到您的APIView中:fromrest_frameworkimportgenericsfromrest_framework_tracking.mixinsimpor
我已经序列化了我的一个模型,其中有一个外键。我得到'Parent'objectisnotiterable模型.pyclassParent(models.Model):#ParentdataclassChild(models.Model):parent=ForeignKey(Parent)序列化器.pyclassChildSerializers(serializers.ModelSerializer):parent=serializers.RelatedField(many=True)classMeta:model=ReportFieldfields=('id','parent')API
我有这个:classGenericCharacterFieldMixin():attributes=serializers.SerializerMethodField('character_attribute')skills=serializers.SerializerMethodField('character_skill')defcharacter_attribute(self,obj):character_attribute_fields={}character_attribute_fields['mental']={str(trait_item.get()):trait_ite
当GET请求到达/obj/1的API后端时我检查自定义权限类以查看用户是否具有访问权限,如果没有,则返回403。但是,我想附加对象ID,以便用户可以单击前端的按钮来请求访问。我当前的实现是覆盖retrieve方法并在那里“手动”检查权限。简化的权限classCustomPerm(...):defhas_object_permission(...):returnrequest.user.is_staffView集classCustomViewSet(...):model=Modelpermission_classes=(CustomPerm,)defretrieve(self,reque