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' на картинках ниже. Это ни на что не влияет, но мне действительно интересно, почему это происходит:
Я обвел проблему кружком.
Ок, я понял, что это было, довольно забавно хаха. Это было вызвано именем моего поля Model/Column. Имя было label
. Я изменил его на name
и теперь все в порядке.