社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

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

Tim Morley • 5 年前 • 1544 次点击  

我有一个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
 
1544 次点击  
文章 [ 2 ]  |  最新文章 5 年前