71 lines
2.4 KiB
Python
71 lines
2.4 KiB
Python
![]() |
from django.contrib import admin
|
||
|
from .models import User, Data, KnowledgeBase, Permission, ChatHistory, KnowledgeBasePermission
|
||
|
|
||
|
@admin.register(User)
|
||
|
class UserAdmin(admin.ModelAdmin):
|
||
|
list_display = ('username', 'email', 'role', 'department', 'date_joined')
|
||
|
list_filter = ('role', 'department', 'is_active')
|
||
|
search_fields = ('username', 'email', 'department')
|
||
|
|
||
|
@admin.register(Data)
|
||
|
class DataAdmin(admin.ModelAdmin):
|
||
|
list_display = ('name', 'type', 'user_id', 'department', 'create_time')
|
||
|
list_filter = ('type', 'department', 'create_time')
|
||
|
search_fields = ('name', 'desc', 'user_id')
|
||
|
readonly_fields = ('id', 'create_time', 'update_time')
|
||
|
|
||
|
@admin.register(KnowledgeBase)
|
||
|
class KnowledgeBaseAdmin(admin.ModelAdmin):
|
||
|
list_display = ('name', 'type', 'user_id', 'document_count', 'create_time')
|
||
|
list_filter = ('type', 'create_time')
|
||
|
search_fields = ('name', 'desc', 'user_id')
|
||
|
readonly_fields = ('id', 'create_time', 'update_time', 'document_count')
|
||
|
|
||
|
@admin.register(Permission)
|
||
|
class PermissionAdmin(admin.ModelAdmin):
|
||
|
list_display = [
|
||
|
'knowledge_base',
|
||
|
'applicant',
|
||
|
'status',
|
||
|
'get_permissions_display', # 显示具体的权限
|
||
|
'expires_at', # 显示过期时间
|
||
|
'created_at'
|
||
|
]
|
||
|
list_filter = [
|
||
|
'status',
|
||
|
'created_at',
|
||
|
'expires_at'
|
||
|
]
|
||
|
search_fields = [
|
||
|
'knowledge_base__name',
|
||
|
'applicant__username',
|
||
|
'reason',
|
||
|
'response_message'
|
||
|
]
|
||
|
readonly_fields = [
|
||
|
'created_at',
|
||
|
'updated_at'
|
||
|
]
|
||
|
|
||
|
def get_permissions_display(self, obj):
|
||
|
"""格式化显示权限"""
|
||
|
perms = []
|
||
|
permissions = obj.permissions
|
||
|
if permissions.get('can_read'):
|
||
|
perms.append('读取')
|
||
|
if permissions.get('can_edit'):
|
||
|
perms.append('编辑')
|
||
|
if permissions.get('can_delete'):
|
||
|
perms.append('删除')
|
||
|
return '、'.join(perms) if perms else '无权限'
|
||
|
get_permissions_display.short_description = '权限'
|
||
|
|
||
|
@admin.register(ChatHistory)
|
||
|
class ChatHistoryAdmin(admin.ModelAdmin):
|
||
|
list_display = ('user', 'role', 'conversation_id', 'created_at')
|
||
|
list_filter = ('role', 'created_at')
|
||
|
search_fields = ('user__username', 'content', 'conversation_id')
|
||
|
readonly_fields = ('created_at',)
|
||
|
|
||
|
admin.site.register(KnowledgeBasePermission)
|