from django.contrib import admin from .models import Timbres, saldoModel, Clientes,ErroresTimbres from import_export import resources,fields from import_export.admin import ImportMixin from datetime import datetime from import_export import resources, fields from datetime import datetime from django.core.exceptions import ValidationError class TimbresCSV(resources.ModelResource): created_at = fields.Field(column_name='created_at', attribute='created_at') class Meta: model = Timbres fields = ['uuid', 'rfcc', 'rfcp', 'fecha', 'folio', 'serie', 'tipo', 'created_at', 'modo'] import_id_fields = ('uuid',) use_bulk = True def clean_created_at(self, value): try: # Convertir el valor de 'created_at' a un objeto datetime return datetime.strptime(value, '%Y-%m-%d %H:%M:%S') except ValueError: raise ValidationError("Formato de fecha incorrecto") def save_instance(self, instance, is_create, using_transactions=True, dry_run=False): created_at = instance.created_at # super().after_save_instance(instance, using_transactions, dry_run) # self.before_save_instance(instance, using_transactions, dry_run) if is_create: instance.save() instance.created_at =created_at instance.save() @admin.register(Timbres) class TimbresAdmin(ImportMixin, admin.ModelAdmin): list_display=['uuid', 'rfcc', 'rfcp', 'fecha', 'folio', 'serie', 'tipo', 'modo', 'created_at'] resource_class = TimbresCSV list_filter=['modo','tipo'] search_fields = ('uuid',) class ClientesAdmin(admin.ModelAdmin): list_display= ['RFC','Nombre','Activo','fecha_baja'] list_filter =['RFC','Activo'] #admin.site.register(Timbres,TimbresAdmin) admin.site.register(saldoModel) admin.site.register(Clientes,ClientesAdmin) admin.site.register(ErroresTimbres)