Django REST framework: ошибка в HTML-форме в просматриваемом API

У меня эта модель:

class WeaponClass(models.Model):
    """Table with all possible weapon classes."""
    label = models.CharField(max_length=32)
    acronym = models.CharField(max_length=8)

    class Meta:
        ordering = ['id']
        verbose_name_plural = 'weapon classes'

    def __str__(self):
        return f"{self.label}, {self.acronym}"

с этим сериализатором:

class WeaponClassSerializer(serializers.HyperlinkedModelSerializer):
    url = serializers.HyperlinkedIdentityField(view_name="weapon_classes-detail")

    class Meta:
        model = WeaponClass
        fields = ['url', 'label', 'acronym']

Теперь, у меня есть игрок, у которого класс оружия:

class PlayerSerializer(serializers.HyperlinkedModelSerializer):
    url = serializers.HyperlinkedIdentityField(view_name="players-detail")
    user = UserSerializer()
    weapon_class = WeaponClassSerializer()

    class Meta:
        model = Player
        fields = ['url', 'user', 'weapon_class']

Когда я отображаю плеер, все работает идеально, как я хочу, за исключением одной вещи. Когда я просматриваю просматриваемый API из django rest framework, имя Weapon Class в HTML форме выводится <BoundField value=Medium Bruiser errors=None>. Он должен выводить 'Weapon Class', так же как и часть с 'User'. Когда я открываю Weapon Class, заголовок на этой странице нормальный, он говорит 'Weapon Class Instance', так же как и 'Player Instance' на картинках ниже. Это ни на что не влияет, но мне действительно интересно, почему это происходит:first half of browsable apisecond half of browsable api with problem

Я обвел проблему кружком.

Ок, я понял, что это было, довольно забавно хаха. Это было вызвано именем моего поля Model/Column. Имя было label. Я изменил его на name и теперь все в порядке.

Вернуться на верх