admin.py 809 Bytes
from django.contrib import admin
from .models import Edicto, Precio

# Register your models here.


class PrecioAdmin(admin.ModelAdmin):
    def save_model(self, request, obj, form, change):
        if change:
            super().save_model(request, obj, form, change)
        else:

            precios_con_vigencia = Precio.objects.exclude(vigencia_hasta=None).count()

            if precios_con_vigencia > 0 and obj.vigencia_hasta is None:
                form.add_error('vigencia_hasta',
                               'Debe proporcionar una fecha para vigencia_hasta antes de crear un nuevo objeto Precio.')
            else:
                obj.usuario = request.user
                super().save_model(request, obj, form, change)


admin.site.register(Precio, PrecioAdmin)

admin.site.register(Edicto)