【发布时间】:2021-05-23 00:18:13
【问题描述】:
我正在尝试设置以下输出:
{
season: 1,
player_profile: {
name: John Doe,
}
}
模型设置如下:
class PlayerProfile(models.Model):
name = models.CharField(max_length=120, null=True)
class TeamAffinityReward(models.Model):
player_profile = models.OneToOneField(
PlayerProfile,
on_delete=models.CASCADE,
#db_constraint=False
null=True)
season = models.IntegerField(null=True, blank=True)
序列化器的设置如下:
class PlayerProfileForNestingSerializer(serializers.ModelSerializer):
class Meta:
model = PlayerProfile
fields = (
'name',
)
class TeamAffinityRewardSerializer(serializers.ModelSerializer):
class Meta:
model = TeamAffinityReward
playerprofile = PlayerProfileForNestingSerializer()
fields = (
'playerprofile',
'season',
)
但是,我收到以下错误:Field name `playerprofile` is not valid for model `TeamAffinityReward`.
如果我将playerprofile 更改为player_profile,错误就会消失,但会显示 player_profile_ID 而不是 PlayerProfileForNestingSerializer。
【问题讨论】:
标签: python django serialization django-rest-framework