Сериализаторы Django Rest Framework вызывают ошибки при создании сериализаторов для циклически зависимых моделей
У меня есть эти модели в моем приложении
class Social_Data(models.Model):
sdid = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
youtube = models.CharField(max_length = 400)
twitter = models.CharField(max_length = 400)
github = models.CharField(max_length = 400)
class Company(models.Model):
name = models.CharField(max_length = 100)
logo = models.FileField(upload_to = "media/")
summary = models.CharField(max_length = 400, default="")
advocates = models.ManyToManyField('Advocate', related_name="advocates", default="", blank=True)
href = models.CharField(max_length = 100,default = "", blank = True, null=True)
class Advocate(models.Model):
name = models.CharField(max_length = 200)
profile_pic = models.FileField(upload_to = "media/")
short_bio = models.CharField(max_length = 300, blank=True)
long_bio = models.CharField(max_length = 400, null=True, blank=True)
advocate_years_exp = models.IntegerField(default = 0)
company = models.ForeignKey(Company, null = True, on_delete=models.SET_NULL)
links = models.OneToOneField(Social_Data, null = True, on_delete=models.SET_NULL)
и вот мои serializers.py
from rest_framework import serializers
from .models import *
class SocialDataSerializer(serializers.ModelSerializer):
class Meta:
model = Social_Data
# fields = "__all__"
exclude = ["sdid"]
class AdvocateSerializer(serializers.ModelSerializer):
company = CompanySerializer()
links = SocialDataSerializer()
class Meta:
model = Advocate
fields = "__all__"
class CompanySerializer(serializers.ModelSerializer):
advocates = AdvocateSerializer(many=True)
class Meta:
model = Company
fields = "__all__"
Как я могу решить проблему с ленивой ссылкой на сторонников в модели компании при сериализации данных в сериализаторах? И пока что мои сериализаторы выдают ошибку "имя Company не определено"