我认为问题更在于tag
does not map to title__00
,但是对于一个LocalTitleCodes
object.
你应该使用:
class LocalTitle(models.Model):
type = models.CharField(
max_length=8,
choices=[(tag.name, tag.value) for tag in LocalTitleCodes]
)
title = models.CharField(max_length=255)
由于 Django 无法找到相应的值,因此它会使用数据库中存储的值。
Since:
>>> [(tag, tag.value) for tag in LocalTitleCodes]
[(<LocalTitleCodes.title_00: 'Japanese'>, 'Japanese'), (<LocalTitleCodes.title_01: 'English'>, 'English'), (<LocalTitleCodes.title_02: 'French'>, 'French')]
>>> [(tag.name, tag.value) for tag in LocalTitleCodes]
[('title_00', 'Japanese'), ('title_01', 'English'), ('title_02', 'French')]