Skip to content

API documentation

django_oapif.api.OAPIF

OAPIF(api: NinjaAPI | None = None)

Ninja API.

register

register(model_class: type[Model], /, id: str | None = None, title: str | None = None, description: str | None = None, geometry_field: str | None = 'geom', properties_fields: list[str] | None = None, handler: type[QueryHandler] = DjangoModelPermissionsOrAnonReadOnly) -> None

Register a Django model in the API.

django_oapif.handler

QueryHandler

QueryHandler(model: type[M])

delete_model

delete_model(_request: HttpRequest, obj: M) -> tuple[int, dict[str, int]]

Given a model instance delete it from the database.

has_add_permission

has_add_permission(_request: HttpRequest, _obj: M | None = None) -> bool

Returns True if the given request has permission to create objects in the collection, or a given object if defined.

has_change_permission

has_change_permission(_request: HttpRequest, _obj: M | None = None) -> bool

Returns True if the given request has permission to change objects in the collection, or a given object if defined.

has_delete_permission

has_delete_permission(_request: HttpRequest, _obj: M | None = None) -> bool

Returns True if the given request has permission to delete objects in the collection, or a given object if defined.

has_view_permission

has_view_permission(_request: HttpRequest, _obj: M | None = None) -> bool

Returns True if the given request has permission to view objects in the collection, or a given object if defined.

save_model

save_model(_request: HttpRequest, obj: M, _change: bool) -> None

Given a model instance save it to the database.

AllowAny

AllowAny(model: type[M])

Bases: QueryHandler

Allows full access to everyone.

IsAuthenticated

IsAuthenticated(model: type[M])

Bases: QueryHandler

Allows full access to authenticated users only.

IsAuthenticatedOrReadOnly

IsAuthenticatedOrReadOnly(model: type[M])

Bases: IsAuthenticated

Allows full access to authenticated users only, but allows readonly access to everyone.

DjangoModelPermissions

DjangoModelPermissions(model: type[M])

Bases: QueryHandler

Reuses all Django permissions for a given model.

DjangoModelPermissionsOrAnonReadOnly

DjangoModelPermissionsOrAnonReadOnly(model: type[M])

Bases: DjangoModelPermissions

Reuses all Django permissions for a given model, but allows readonly access to everyone.