Py学习  »  Django

django rest framework,如何从名称列表中添加序列化器字段

Tim Morley • 5 年前 • 1515 次点击  

我有一个django rest框架序列化器,它包含许多浮点字段,例如。

class MySerializer(serializers.Serializer):
    unitID = serializers.CharField(required=True, allow_blank=False, max_length=50)
    timestamp = serializers.DateTimeField(required=True)
    VonDC = serializers.FloatField(required=False)
    VonAC = serializers.FloatField(required=False)
    VoffDC = serializers.FloatField(required=False)
    VonDC2 = serializers.FloatField(required=False)
    etc...

我希望能够从字段名列表中创建这些字段,例如

the_fields = ['VonDC', 'VonAC', 'VoffDC', 'VonDC2', etc...] 

class MySerializer(serializers.Serializer):
    unitID = serializers.CharField(required=True, allow_blank=False, max_length=50)
    timestamp = serializers.DateTimeField(required=True)

    for f in the_fields:
        <something>[f] = serializers.FloatField(required=False)
        or
        <some_function>(<something>, f, serializers.FloatField(required=False) )

我还没找到上面的“某物”或“某物功能”。

有可能这样做吗? python中有没有一种方法可以向类添加属性并从变量中获取名称? 或者在django rest框架中对此有特定的支持吗?

我想这样做的部分原因是因为它更简洁,但主要原因是我已经有了一个字段名列表,我想使用它,而不是重复所有的名称。

(字段列表基本上是固定的,更改它会在系统范围内产生影响。它可能会偶尔更改,但在程序运行时肯定不会更改)

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/39837
 
1515 次点击  
文章 [ 2 ]  |  最新文章 5 年前