@
j0hnj 其实出现这个需求是我在使用 django RESTframework 做序列化时遇到的。
我在 django 中定义了一个类型的 model:
class Channel(models.Model):
"""
分类
"""
name = models.CharField(verbose_name="分类名称", max_length=40)
display_name = models.CharField(verbose_name="显示名称", max_length=40)
parent = models.ForeignKey("Channel", null=True, blank=True, related_name="sub_channels", on_delete=models.SET_NULL)
Channel 对象的 parent 属性可以指向自己类型的对象。
做序列化时,就要定义
class ChannelSerializer(serializers.ModelSerializer):
parent = ChannelSerializer(read_only=True)
class Meta:
model = Channel
fields = '__all__'
这样的代码,这就不符合 Python 的语法了。
使用你给出的解决办法,结果不对,没有达到享耀的效果。