小编Phi*_*wan的帖子

DRF一对多序列化-缺少字段的AttributeError

错误:

/ stats / matches的AttributeError

尝试获取players序列化程序中字段的值时出现AttributeError MatchSerializer。序列化程序字段的名称可能不正确,并且与Match实例上的任何属性或键都不匹配。原始异常文本为:“匹配”对象没有属性“玩家”。


楷模:

每个人Match都有10位玩家。

class Match(models.Model):
    tournament = models.ForeignKey(Tournament, blank=True)
    mid = models.CharField(primary_key=True, max_length=255)
    mlength = models.CharField(max_length=255)
    win_rad = models.BooleanField(default=True)

class Player(models.Model):
    match = models.ForeignKey(Match, on_delete=models.CASCADE)
    playerid = models.CharField(max_length=255, default='novalue')
    # There is also a Meta class that defines unique_together but its omitted for clarity.
Run Code Online (Sandbox Code Playgroud)

序列化器:

class PlayerSerializer(serializers.ModelSerializer):
    class Meta:
        model = Player
        fields = "__all__"

class MatchSerializer(serializers.ModelSerializer):
    players = PlayerSerializer(many=True)
    class Meta:
        model = Match
        fields = …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

1
推荐指数
1
解决办法
276
查看次数

标签 统计

django ×1

django-rest-framework ×1

python ×1