upload.admin - Manage upload models in admin site

Registers models to the admin site.

upload.admin.linkify(field_name: str) Callable

Convert a foreign key value into clickable links.

If field_name is ‘parent’, link text will be str(obj.parent) Link will be admin url for the admin url for obj.parent.id:change

class upload.admin.BaseUploadedFileAdminMixin

Bases: object

Adds functions for rendering extra fields for uploaded files.

formatted_upload_size(obj: BaseUploadedFile) str

Format file size of an BaseUploadedFile instance for display.

uploaded_file_url(obj: BaseUploadedFile) SafeString

Return the URL to access the file, or a message if the file was removed.

class upload.admin.BaseUploadedFileAdmin(model, admin_site)

Bases: BaseUploadedFileAdminMixin, ModelAdmin

Regular admin for uploaded files.

has_add_permission(request: HttpRequest, obj: object = None) bool

Determine whether add permission is granted for this model admin.

has_change_permission(request: HttpRequest, obj: object = None) bool

Determine whether change permission is granted for this model admin.

has_delete_permission(request: HttpRequest, obj: object = None) bool

Determine whether delete permission is granted for this model admin.

property media
class upload.admin.BaseUploadedFileInlineAdmin(parent_model, admin_site)

Bases: BaseUploadedFileAdminMixin, TabularInline

Inline admin for uploaded files.

has_add_permission(request: HttpRequest, obj: object = None) bool

Determine whether add permission is granted for this model admin.

has_change_permission(request: HttpRequest, obj: object = None) bool

Determine whether change permission is granted for this model admin.

has_delete_permission(request: HttpRequest, obj: object = None) bool

Determine whether delete permission is granted for this model admin.

property media
class upload.admin.UploadedFileAdmin(model, admin_site)

Bases: BaseUploadedFileAdmin

Admin for a BaseUploadedFile model.

Permissions:
  • add: Not allowed

  • change: Not allowed

  • delete: Not allowed

fields: Sequence[str | Sequence[str]] = ['id', 'uuid', 'name', 'formatted_upload_size', 'exists', 'session', 'uploaded_file_url']
list_display: Sequence[str | Callable] = ['name', 'formatted_upload_size', 'exists', <function linkify.<locals>._linkify>, 'uploaded_file_url']
search_fields: Sequence[str] = ['name', 'session__token', 'session__user__username']
ordering: Sequence[str] | None = ['-pk']
property media
class upload.admin.TempUploadedFileInline(parent_model, admin_site)

Bases: BaseUploadedFileInlineAdmin

Inline admin for the TempUploadedFile model. Used to view the files associated with an upload session.

Permission:
  • add: Not allowed

  • change: Not allowed

  • delete: Not allowed

model

alias of TempUploadedFile

fields: Sequence[str | Sequence[str]] = ['uploaded_file_url', 'formatted_upload_size', 'exists']
readonly_fields: Sequence[str | Callable] = ['exists', 'uploaded_file_url', 'formatted_upload_size']
property media
class upload.admin.PermUploadedFileInline(parent_model, admin_site)

Bases: BaseUploadedFileInlineAdmin

Inline admin for the PermUploadedFile model. Used to view the files associated with an upload session.

Permission:
  • add: Not allowed

  • change: Not allowed

  • delete: Not allowed

model

alias of PermUploadedFile

fields: Sequence[str | Sequence[str]] = ['uploaded_file_url', 'formatted_upload_size', 'exists']
readonly_fields: Sequence[str | Callable] = ['exists', 'uploaded_file_url', 'formatted_upload_size']
property media
class upload.admin.UploadSessionAdmin(model, admin_site)

Bases: ModelAdmin

Admin for the UploadSession model.

Permissions:
  • add: Not allowed

  • change: Not allowed

  • delete: Not allowed

fields: Sequence[str | Sequence[str]] = ['token', 'user', 'started_at', 'last_upload_at', 'file_count', 'upload_size', 'status', 'is_expired', 'expires_at']
search_fields: Sequence[str] = ['token', 'user__username']
list_display: Sequence[str | Callable] = ['token', <function linkify.<locals>._linkify>, 'started_at', 'last_upload_at', 'file_count', 'upload_size', 'status', 'is_expired', 'expires_at']
ordering: Sequence[str] | None = ['-started_at']
has_add_permission(request: HttpRequest) bool

Determine whether add permission is granted for this model admin.

has_change_permission(request: HttpRequest, obj: object = None) bool

Determine whether change permission is granted for this model admin.

has_delete_permission(request: HttpRequest, obj: object = None) bool

Determine whether delete permission is granted for this model admin.

get_inlines(request: HttpRequest, obj: UploadSession | None = None) list

Return the inlines to display for the UploadSession.

file_count(obj: UploadSession) str

Display the number of files uploaded to the session.

upload_size(obj: UploadSession) str | None

Display the total upload size for the session.

last_upload_at(obj: UploadSession) str

Display the last time a file was uploaded to the session.

property media