Пользовательская проверка администратора Django - требуется как минимум одна встроенная модель внешнего ключа

У меня есть две модели Django (Purchaser и LineItem), которыми я управляю через стандартный интерфейс администратора. Урезанные версии:

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)

У меня есть LineItems как встроенные на странице администратора покупателя, и я хочу потребовать, чтобы у покупателей был хотя бы один LineItem (т. Е. не позволять пользователю сохранять нового Покупателя, если он не добавил хотя бы один LineItem). Есть ли чистый способ сделать это? У меня уже есть некоторая проверка, настроенная с использованием пользовательской modelForm , но этот метод имеет дело только с полями Purchaser и не имеет ничего общего с LineItems. Совет?

6
задан Community 23 May 2017 в 10:28
поделиться