【问题标题】:Two Serializers.py import each other两个 Serializers.py 相互导入
【发布时间】:2021-03-17 15:36:33
【问题描述】:

我的 django 项目中有 2 个应用程序,我必须相互导入它们的序列化程序。

app1.serializer.py

import food.app1 import serializers

app2.serializer.py

import food.app2 import serializers

我收到与循环导入问题相关的错误。我有什么办法可以导入序列化程序?

【问题讨论】:

  • 将导入更改为 from food.app2 import serializersfrom food.app1 import serializers 不会解决问题吗?

标签: django django-rest-framework


【解决方案1】:

我假设你想像这样导入

序列化器A(序列化器B):

序列化器B(序列化器A):

如果是这种情况,那么当您调用一个序列化程序中的任何一个时,它将调用另一个序列化程序,另一个将再次调用另一个序列化程序,该序列化程序将无限时间运行。所以,两个序列化器之间会有循环依赖问题。

在这种情况下,您必须重新考虑使用序列化程序继承的逻辑。

【讨论】:

  • 现在,我尝试像这样在第二个序列化器from food import app1 上导入第一个序列化器,然后我只需使用app1.serializers.<nameOfSerializer> 访问序列化器
  • 如果你想从另一个应用程序导入同一个项目,你可以这样做:from app1.serializers import {serializer_name}
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-24
  • 2016-12-29
  • 1970-01-01
  • 2012-03-27
  • 1970-01-01
  • 2017-11-16
  • 1970-01-01
相关资源
最近更新 更多