在 Django 中获取无法转换为男性错误?

getting cannot convert to male error in django?

我正在尝试使用 django 导出客户列表。

class Gender(models.IntegerChoices):
        FEMALE = 1, female_label
        MALE = 2, male_label

gender = models.PositiveSmallIntegerField(
    db_column="Gender",
    verbose_name=gender_label,
    choices=Gender.choices,
    blank=True,
    null=True,
)

我在导出行中这样调用:

customer.gender_label

我收到这样的错误 无法将 'Male' 转换为 Excel

您知道为什么会出现此错误吗?

***** 更新:customer.get_gender_display() 解决了我的问题***

您可以使用.get_gender_display()方法获得选择显示(所以这里是female_labelmale_label的值),所以:

customer.<strong>get_gender_display()</strong>

的确,正如 documentation on the .get_<i>fieldname</i>_display() [Django-doc] 所说:

For every field that has choices set, the object will have a get_FOO_display() method, where FOO is the name of the field. This method returns the “human-readable” value of the field.