Model Resources

ModelResource

Registering models

Registering a model with hyperadmin:

import hyperadmin
from hpyeradmin.resources.models import ModelResource, InlineModelResource
from myapp.models import MyModel, ChildModel

class ChildModelResource(InlineModelResource):
    model = ChildModel

class MyModelResource(ModelResource):
    inlines = [ChildModelResource]
    list_display = ['name', 'number']
    list_filter = ['timestamp', 'category']

hyperadmin.site.register(MyModel, MyModelResource)

Options

  • model
  • fields
  • exclude
  • paginator
  • list_display
  • list_filter (basic filters, don’t know about custom)
  • search_fields
  • list_per_page
  • form_class
  • inlines

The params queryset, ordering, search_fields, list_select_related and date_hierarchy are planned.

Autoloaded Options

These options are mapped to the ModelResource when using autoload.

  • model
  • fields
  • fieldsets (flattened to provide fields)
  • exclude
  • paginator
  • list_display
  • list_filter (basic filters, don’t know about custom)
  • search_fields
  • list_per_page
  • form_class
  • inlines

API Endpoints

  • “/” lists rows; POST to create
  • “/add/” POST to add
  • “/<id>/” displays a specific row; PUT/POST to update, DELETE to delete
  • “/<id>/delete/” POST to delete

Methods

class hyperadmin.resources.models.ModelResource(**kwargs)

Bases: hyperadmin.resources.models.resources.BaseModelResource

list_endpoint = (<class 'hyperadmin.resources.crud.endpoints.ListEndpoint'>, {'index_name': 'filter'})
create_endpoint = (<class 'hyperadmin.resources.crud.endpoints.CreateEndpoint'>, {})
detail_endpoint = (<class 'hyperadmin.resources.crud.endpoints.DetailEndpoint'>, {})
delete_endpoint = (<class 'hyperadmin.resources.crud.endpoints.DeleteEndpoint'>, {})
post_register()
model
initialize_inlines()
register_inline(inline_cls)
get_urls()
get_item_namespaces(item)

InlineModelResource

Methods

class hyperadmin.resources.models.InlineModelResource(parent, **kwargs)

Bases: hyperadmin.resources.models.resources.BaseModelResource

model = None
fk_name = None
rel_name = None
list_endpoint = (<class 'hyperadmin.resources.models.endpoints.InlineListEndpoint'>, {})
create_endpoint = (<class 'hyperadmin.resources.models.endpoints.InlineCreateEndpoint'>, {})
detail_endpoint = (<class 'hyperadmin.resources.models.endpoints.InlineDetailEndpoint'>, {})
delete_endpoint = (<class 'hyperadmin.resources.models.endpoints.InlineDeleteEndpoint'>, {})
post_register()
get_queryset(parent)
get_primary_query(**kwargs)
get_indexes()
get_base_url_name_suffix()
get_item_url(item)
get_absolute_url()
get_breadcrumbs()
get_form_class()

API Endpoints

  • “/<parent_id>/(relname)/” lists rows; POST to create
  • “/<parent_id>/(relname)/add/” POST to add
  • “/<parent_id>/(relname)/<id>/” displays a specific row; PUT/POST to update, DELETE to delete
  • “/<parent_id>/(relname)/<id>/delete/” POST to delete

GenericInlineModelResource

Methods

class hyperadmin.resources.models.generic.GenericInlineModelResource(parent, **kwargs)

Bases: hyperadmin.resources.models.resources.InlineModelResource

model = None
ct_field = 'content_type'
ct_fk_field = 'object_id'
post_register()
content_type
get_queryset(parent)
get_primary_query(**kwargs)
get_form_class()

Project Versions

Table Of Contents

Previous topic

Resources

Next topic

Autoload Model Resources

This Page