【发布时间】:2014-05-24 05:01:26
【问题描述】:
我想从 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()
基本上我想将一些基于查询字符串的值从视图传递到序列化器类,然后这些值将分配给字段。
这些字段实际上不包含在模型中动态创建的字段。
这个问题stackoverflow的情况相同,但我无法理解答案。
任何人都可以在这种情况下帮助我或建议我更好的选择。
【问题讨论】:
-
@PauloScardine 你能给我提供简单的例子或任何我可以得到帮助的链接吗?我是 django 新手,所以听不懂你的话。
-
你提到的问题的答案是对的,去阅读
get_serializer方法的文档并重写它以返回一个自定义的序列化器实例。 -
我也提到了这个问题作为参考,但没有任何细节可以帮助我
-
我已阅读文档,但找不到任何传递额外参数的示例。只有示例如何使用不同的序列化类。这就是为什么我在这里发布问题
标签: python django rest django-rest-framework