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

У меня есть две модели Django (Покупатель и 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 , но этот метод работает только с полями Покупателя, а не с LineItems.Совет?

1 Ответ

3 голосов
/ 02 мая 2011

Вы можете использовать информацию об ответах, указанную здесь: Django: принуждение пользователей-администраторов ввести хотя бы один элемент в TabularInline

Надеюсь, что это поможет вам.

...