Skip to content

admin

django_spire.knowledge.entry.admin

EntryAdmin

Bases: ModelAdmin

list_display = ['name', 'current_version_link', 'collection', 'is_deleted', 'tag_count'] class-attribute instance-attribute

list_filter = ['is_deleted', 'is_active'] class-attribute instance-attribute

search_fields = ['name', 'collection__name'] class-attribute instance-attribute

ordering = ['name'] class-attribute instance-attribute

autocomplete_fields = ['collection', 'current_version'] class-attribute instance-attribute

actions = ['set_tags_for_entries'] class-attribute instance-attribute

Source code in django_spire/knowledge/entry/admin.py
def current_version_link(self, entry: Entry) -> str:
    url = (
        reverse('admin:django_spire_knowledge_entryversion_changelist')
        + '?'
        + urlencode({'entry_id': f'{entry.id}'})
    )

    return format_html(f'<a href="{url}">View Versions</a>')

set_tags_for_entries

Source code in django_spire/knowledge/entry/admin.py
@admin.action(description="Set Tags for Entries (Allow 5 Seconds Per)")
def set_tags_for_entries(self, request, queryset: QuerySet[Entry]):
    processed = 0
    for entry in queryset:
        entry.services.tag.process_and_set_tags()
        processed += 1

    messages.success(request, f'Successfully processed {processed} entries.')

tag_count

Source code in django_spire/knowledge/entry/admin.py
def tag_count(self, entry: Entry):
    return entry.tags.count()