gpt4 book ai didi

tastypie - 字段并排除在 tastypie 中

转载 作者:行者123 更新时间:2023-12-03 06:28:00 27 4
gpt4 key购买 nike

我想在 GET 响应中包含一些字段,并在 POST 确认响应中包含较小的字段子集。我必须在 alter_detail_data_to_serialize 中拥有大量 del bundle['field1']、del bundle['field2'] 才能实现此目的。是否有任何通用方法可以指定字段并排除资源中的每个请求类型?

最佳答案

我查看了 Tastypie 源代码,我的结论如下......

您可以尝试检测您的资源并在方法为 POST 时动态更改 excludes 属性的值,但这会很棘手,而且最重要的是 hackish。

因此,我猜你最好的选择是做你正在做的事情,但也许不是做多个 del bundle[ 'field' ] 引入 post_excludes 属性或一些这样的并实现一种更好、更灵活的方式来摆脱这些字段。例如,您可以执行以下操作:

class YourResource( Resource ):

class Meta:
# ...
post_excludes = [ 'foo', 'bar' ]
# ...

# ...

def alter_detail_data_to_serialize( self, request, data ):
if request.method == 'POST':
data.data = {
key : value for key, value in data.data.copy().iteritems() if \
key not in self._meta.post_excludes }
return data

# ...

这会更干净,并且符合 Tastypie 的“规则”,这很重要,以免最终出现难以维护的困惑、被黑客攻击的代码。

希望这有帮助:)

关于tastypie - 字段并排除在 tastypie 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9831525/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com