gpt4 book ai didi

python - 在 django-admin 中使用 django 将用户数据导出为 CSV

转载 作者:行者123 更新时间:2023-12-01 05:45:44 27 4
gpt4 key购买 nike

我需要导出到数据库的 csv 用户,因此我或多或少清楚了这一点( https://docs.djangoproject.com/en/dev/howto/outputting-csv/ ),但我需要的是选择之前导出的字段。

是否可以使用模型显示您可以选择要导出的字段?

最佳答案

解决您的问题的最佳方法是在您的用户管理中创建一个操作。操作方法如下:转到您的 admin.py 并执行此操作

from django.contrib.auth import get_user_model
from django.http import HttpResponse
import csv, datetime

User = get_user_model()

def export_to_csv(modeladmin, request, queryset):
opts = modeladmin.model._meta
response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'attachment;' 'filename={}.csv'.format(opts.verbose_name)
writer = csv.writer(response)
fields = [field for field in opts.get_fields() if not field.many_to_many and not field.one_to_many]
# Write a first row with header information
writer.writerow([field.verbose_name for field in fields])
# Write data rows
for obj in queryset:
data_row = []
for field in fields:
value = getattr(obj, field.name)
if isinstance(value, datetime.datetime):
value = value.strftime('%d/%m/%Y')
data_row.append(value)
writer.writerow(data_row)

return response

export_to_csv.short_description = 'Export to CSV' #short description

@admin.register(User)
class UserAdmin(admin.ModelAdmin):
'''
Registers the action in your model admin
'''
actions = [export_to_csv]

通过此功能,您将能够选择要导出其数据的特定用户并立即导出。

关于python - 在 django-admin 中使用 django 将用户数据导出为 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16215110/

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