2011-05-01 12 views
5

Tengo dos modelos de Django (Comprador y LineItem) que administro a través de la interfaz de stock admin. Las versiones idiotizada:Validación personalizada de administración de Django: requiere al menos un modelo de clave foránea en línea

class Purchaser(models.Model): 
    firstname = models.CharField('First Name', max_length = 30) 
    lastname = models.CharField('Last Name', max_length = 30) 
    paymentid = models.IntegerField('Payment ID', unique = True) 

class LineItem(models.Model): 
    purchaser = models.ForeignKey(Purchaser) 
    ship_first_name = models.CharField('Recipient First Name', max_length = 50) 
    ship_last_name = models.CharField('Recipient Last Name', max_length = 50) 

tengo ArtículosLínea como una línea dentro de la página Comprador de administración, y desea que sea necesario que los compradores tienen al menos un LineItem (es decir, no permiten la reducción de un nuevo comprador a menos que hayan añadido al menos un LineItem). ¿Hay una manera limpia de hacer esto? Ya tengo una configuración de validación usando un modelForm personalizado, pero ese método solo trata con los campos del Comprador y no tiene nada que ver con LineItems. ¿Consejo?

Respuesta

Cuestiones relacionadas