class ModelA(models.Model):
a1 = models.CharField(max_length=100, default="")
a2 = models.CharField(max_length=100, default="")
class ModelB(models.Model):
modela = models.ForeignKey(ModelA, on_delete=models.CASCADE)
b2 = models.CharField(max_length=100, default="")
下面有
ModelBSerializer
a1
a2
属于
ModelA
SerializerMethodField
对于
modela
class ModelBSerializer(serializers.ModelSerializer):
modela = SerializerMethodField()
class Meta:
model = ModelB
fields = (
'modela',
'b2',
)
def get_b1(self, obj):
return obj.modela.a1 # or obj.modela.a2
但如果我两者都想要呢
a1级
和
a2级
ModelBserializer
田地和
莫德拉
和
b2
.