TypeError: Объект типа Folder не является JSON-сериализуемым во фреймворке Django Rest
Я использую декоратор свойств для поля и поместил это поле в мета-класс сериализатора, но продолжаю получать эту ошибку. Я не уверен, в чем проблема.
Мои модели:
class Example(models.Model):
creator = models.ForeignKey(
User,
on_delete=models.CASCADE,
null=True,
related_name="example"
)
@property
def example_packages(self):
return self.package.all()
class Package(models.Model):
parent = models.ForeignKey(
Example,
on_delete=models.CASCADE,
null= True,
related_name="package"
)
name = models.CharField(max_length=25,blank=True)
Мои сериализаторы:
class ExampleSerializer(serializers.ModelSerializer):
class Meta:
model = Example
fields = ['id','creator','example_packages']
Ошибка, которую я продолжаю получать, заключается в том, что example_packages не является Json serializable.
class PackageSerializer(serializers.ModelSerializer):
class Meta:
model = Package
fields = ['id','name']
class ExampleSerializer(serializers.ModelSerializer):
package = PackageSerializer(many=True)
class Meta:
model = Example
fields = ['id','creator','package']
Если @свойство должно быть в 'Example'
class Example(models.Model):
creator = models.ForeignKey(
User,
on_delete=models.CASCADE,
null=True,
related_name="example"
)
@property
def example_packages(self):
return self.package.all()
class Package(models.Model):
parent = models.ForeignKey(
Example,
on_delete=models.CASCADE,
null= True,
related_name="package"
)
name = models.CharField(max_length=25,blank=True)
Сериализатор должен выглядеть следующим образом:
class ExampleSerializer(serializers.ModelSerializer):
example_packages = serializers.CharField()
class Meta:
model = Example
fields = ['id','creator','example_packages']