AutoField对象没有属性'_meta - field._meta.verbose_name

1 投票
1 回答
977 浏览
提问于 2025-04-17 18:20
def export_as_xls(modeladmin, request, queryset):
    """
    Generic xls export admin action.
    """
    if not request.user.is_staff:
        raise PermissionDenied
    opts = modeladmin.model._meta

    wb = Workbook()
    ws0 = wb.add_sheet('0')
    col = 0
    field_names = []
    # write header row
    for field in opts.fields:
        ws0.write(0, col, field._meta.verbose_name)
        field_names.append(field._meta.verbose_name)
        col = col + 1

如果我尝试导出为xls格式,就出现了这个错误:

'AutoField'对象没有'_meta'这个属性

用:field.name 这样可以正常工作,但我需要的是更详细的名称。

1 个回答

0

对于字段,你只需要使用 field.verbose_name 就可以了。

_meta 是可以在模型实例上使用的,但在字段实例上是不能用的。

撰写回答