gpt4 book ai didi

python - 有没有通用的方法来实现列名称?

转载 作者:太空宇宙 更新时间:2023-11-03 21:15:53 25 4
gpt4 key购买 nike

我正在尝试以通用方式实现 django-import-export 库。

在 Meta 类中设置 fields 属性时,无法设置列名称。当直接在 ModelResource 上设置 Field() 时,这是可能的。但据我所知,您无法以通用方式创建它们。

这是我已经拥有的:

def create_resource(django_model, model_fields):
class ModelResource(resources.ModelResource):
class Meta:
model = django_model
fields = model_fields

return ModelResource()

最佳答案

我找到了解决方案。

from import_export import resources
from import_export.fields import Field

def create_resource(django_model, django_fields):
class ModelResource(resources.ModelResource):
class Meta:
model = django_model
fields = ()

resource = ModelResource()
for attribute, name in django_fields:
resource.fields[attribute] = Field(attribute=attribute, column_name=name)

return resource

create_resource 将使用 django_fields 参数中的所有 Fields 创建 ModelResourcedjango_fields 变量将如下所示:

django_fields = [
("id", "ID"),
("first_name", "First name"),
("last_name", "Last name"),
("group__name", "Group name"),
]

关于python - 有没有通用的方法来实现列名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54723319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com