мне нужно удалить "parent", если он None/null в методе to_representation класса RecursiveField.
Но я не смог удалить его в:
- "value" (class Task(models.Model))
- "serializer.data" (from rest_framework.utils.serializer_helpers import ReturnDict)
Может кто сталкивался?
tasks\models.py
class Task(models.Model):
name = models.CharField(verbose_name="Наименование задачи",
max_length=50)
parent = models.ForeignKey("Task",
blank=True,
null=True,
verbose_name="Родительская задача",
on_delete=models.CASCADE)
api\serialisers.py
class RecursiveField(serializers.Serializer):
def to_representation(self, value):
serializer = self.parent.__class__(value, context=self.context)
return serializer.data
class TaskSerialiser(serializers.ModelSerializer):
parent = RecursiveField()
class Meta:
model = Task
fields = ('name', 'parent')
В to_representation добавь иф
Определённо нужно убрать 'parent' из value на этот строчке ''' serializer = self.parent.__class__(value, context=self.context) '''
Обсуждают сегодня