Я пытаюсь импортировать два сериализатора, как показано ниже:
# project/accounts/serializers/user.py
from rest_framework import serializers
class UserSerializer(serializers.ModelSerializer):
team = ... # I need TeamSerializer here
# -----------------------------------
# project/teams/serializers/team.py
from rest_framework import serializers
class TeamSerializer(serializers.ModelSerializer):
leader = ... # I need UserSerializer here
Все сериализаторы в каждом приложении находятся в папке serializers
, и папка содержит файл инициализации. Внутри файлов инициализации я импортировал Serializer, как показано ниже:
# project/teams/serializers/__init__.py
from .team import TeamSerializer
# project/accounts/serializers/__init__.py
from .user import UserSerializer
Я уже пробовал много способов, таких как import teams.serializers
и звоню teams.serializers.TeamSerializers()
вместо from teams.serializers import TeamSerializer
. Это работает только тогда, когда оно не круглое, однако они нужны друг другу. Когда я импортирую их в оба файла, возникает ошибка, подобная приведенной ниже:
AttributeError: module 'accounts' has no attribute 'serializers'
После того как я закомментировал один из них, ошибка исчезла.
Есть ли чистый способ сделать который? Заранее спасибо.