Django Версия: 1.11
Python: 2,7
Пакет: django-import-export
Я пытаюсь экспортировать "вызываемые" поля для страницы администратора Django. (Ссылка: https://docs.djangoproject.com/en/1.11/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_display)
В их примере у них есть «вызываемый» для их PersonAdmin list_display
.
def upper_case_name(obj):
return ("%s %s" % (obj.first_name, obj.last_name)).upper()
upper_case_name.short_description = 'Name'
class PersonAdmin(ExportMixin, admin.ModelAdmin):
list_display = (upper_case_name,)
Для Ресурса я думал, что смогу также экспортировать вызываемое поле.
class PersonResource(resources.ModelResource):
class Meta:
model = Person
fields = ( "first_name",
"last_name",
"upper_case_name", )
Однако я получу, что у Person нет поля с именем upper_case_name
.
Есть ли способ экспортировать вызываемые поля?
Из документации видно, что вы можете экспортировать несуществующие поля.
https://django -import-export.readthedocs.io / ен / последний / getting_started.html
Их пример был:
from import_export.fields import Field
class BookResource(resources.ModelResource):
full_title = Field()
class Meta:
model = Book
def dehydrate_full_title(self, book):
return '%s by %s' % (book.name, book.author.name)
Я повторил это и попробовал:
class PersonResource(resources.ModelResource):
upper_case_name = Field()
class Meta:
model = Person
def dehydrate_upper_case_name(self, obj):
return ("%s %s" % (obj.first_name, obj.last_name)).upper()
Я попытался сделать то же самое, но получил бы ошибку. У человека нет поля с именем upper_case_name
.
Есть мысли?
Заранее спасибо!