python - 在 Django Rest-framework 中定义之前引用序列化程序类

标签 python django python-3.x syntax django-rest-framework

# main.py

from rest_framework import serializers

class FirstSerializer(serializers.ModelSerializer):
    second = SecondSerializer(
        read_only=True)

class SecondSerializer(serializers.ModelSerialzier):
    # ...

我怎样才能做到这一点?

我的意思是,在定义一个类之前解除它的声明,这可能吗?怎么办?

原因

事实上,我正在开发 django-rest-framework。

查看此部分:http://www.django-rest-framework.org/api-guide/relations/#nested-relationships

我想将一个 Serializer 嵌入到另一个 Serializer 中,但 Serializer Class 必须稍后定义。

那么如何让它发挥作用呢?

最佳答案

一种奇怪的方法是在定义B 之后添加类变量:

class A:
    pass

class B:
    a = A()

A.b = B()

...python 类的动态特性允许您这样做。

关于python - 在 Django Rest-framework 中定义之前引用序列化程序类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33259229/

相关文章:

python - 从字符串中提取2组数字

python - pandas groupby 列值(按零值分割)

python - 如何将 pip 安装到 ubuntu 容器中,同时将层保持在最低限度?

python - 使用 django_facebook 和 django-celery 时 Facebook 用户的点赞存储在哪里?

python-3.x - 如何在具有日期差异(DATETIME - DATETIME)的值之间进行条件比较?

python - 如何从字符串列表中获取少数特定字符串?

Python pygments 词法分析器状态保存

python - 从 Python 运行 m 文件

django - 使用 django-rest-framework 序列化器检索具有许多模型值

django - AngularJS中未设置XSRF header