Отображение данных DynamoDB в панели администратора Django

Я хочу показывать данные из DynamoDB на странице админпанели Django. Я попробовал PynamoDB для создания модели и регистрации ее в панели администратора.

Я столкнулся со следующими двумя проблемами:

  1. Getting only attribute 'id' instead of all attributes from the DynamoDB table. I have confirmed this issue while fetching attribute_definitions from the DynamoDB table using boto3.

    attribute_definitions = table_name.attribute_definitions

  2. The second issue I am facing is that I get errors while registering the created Model(by using PynamoDB) with the admin panel. I get the issue

"TypeError: 'MetaModel' object is not iterable"

вы можете передать эти данные в шаблон администратора, используя этот метод changelist_view

Ex:

class DynmoDbAdmin(admin.ModelAdmin):
    def changelist_view(self, request, extra_context=None):
        get data from dynamodb
        add this data to extra_context
        return super().changelist_view(request, extra_context=extra_context)

после этого вам необходимо расширить шаблон администратора следуйте этому шаблону

  1. добавьте 'APP_DIRS': True, в ваш файл настроек.
  2. перейдите в ваше приложение и создайте эту папку templates/admin/model_name
  3. .
  4. в этой папке создайте файл change_list.html

эти ссылки помогут вам.

  1. https://docs.djangoproject.com/en/3.2/howto/overriding-templates/
  2. .
  3. Как переопределить и расширить основные шаблоны администратора Django?
  4. .
Вернуться на верх