from django.contrib import admin from api.models import ( Project, DataFile, PreprocessingTask, AnalysisTask, ExportTask, #ThirdPartyUserMapping, TokenStorage ) @admin.register(Project) class ProjectAdmin(admin.ModelAdmin): list_display = ('name', 'user', 'status', 'created_at', 'last_modified') list_filter = ('status', 'created_at') search_fields = ('name', 'description', 'user__username') date_hierarchy = 'created_at' @admin.register(DataFile) class DataFileAdmin(admin.ModelAdmin): list_display = ('filename', 'project', 'uploaded_at', 'wavenumber_min', 'wavenumber_max') list_filter = ('uploaded_at',) search_fields = ('filename', 'project__name') @admin.register(PreprocessingTask) class PreprocessingTaskAdmin(admin.ModelAdmin): list_display = ('id', 'project', 'status', 'created_at', 'completed_at') list_filter = ('status', 'created_at') search_fields = ('project__name',) @admin.register(AnalysisTask) class AnalysisTaskAdmin(admin.ModelAdmin): list_display = ('id', 'project', 'analysis_type', 'status', 'created_at', 'completed_at') list_filter = ('status', 'analysis_type', 'created_at') search_fields = ('project__name',) @admin.register(ExportTask) class ExportTaskAdmin(admin.ModelAdmin): list_display = ('id', 'project', 'format', 'status', 'created_at', 'completed_at') list_filter = ('status', 'format', 'created_at') search_fields = ('project__name',) # @admin.register(ThirdPartyUserMapping) # class ThirdPartyUserMappingAdmin(admin.ModelAdmin): # list_display = ('third_party_username', 'third_party_user_id', 'user', 'created_at') # list_filter = ('created_at', 'updated_at') # search_fields = ('third_party_username', 'third_party_user_id', 'user__username') # readonly_fields = ('created_at', 'updated_at') # date_hierarchy = 'created_at' # @admin.register(TokenStorage) # class TokenStorageAdmin(admin.ModelAdmin): # list_display = ('third_party_username', 'third_party_user_id', 'user', 'created_at', 'last_used') # list_filter = ('created_at', 'last_used') # search_fields = ('third_party_username', 'third_party_user_id', 'user__username', 'token') # readonly_fields = ('created_at', 'last_used') # date_hierarchy = 'created_at' # def get_readonly_fields(self, request, obj=None): # if obj: # 编辑现有对象时 # return self.readonly_fields + ('token',) # return self.readonly_fields