Django 管理员自定义验证 - 至少需要一个内联外键模型
Posted
技术标签:
【中文标题】Django 管理员自定义验证 - 至少需要一个内联外键模型【英文标题】:Django admin custom validation - require at least one inline foreign-key model 【发布时间】:2011-08-16 14:46:52 【问题描述】:我有两个通过库存管理界面管理的 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)
我在 Purchaser 管理页面中将 LineItems 作为内联项,并希望要求 Purchaser 至少有一个 LineItem(即,除非用户添加了至少一个 LineItem,否则不要让用户保存新的 Purchaser)。有没有一种干净的方法可以做到这一点?我已经使用自定义modelForm 设置了一些验证,但该方法仅处理购买者字段,与 LineItems 无关。建议?
【问题讨论】:
【参考方案1】:您可以使用此处引用的答案信息:Django: Forcing admin users to enter at least one item in TabularInline
希望对你有所帮助。
【讨论】:
以上是关于Django 管理员自定义验证 - 至少需要一个内联外键模型的主要内容,如果未能解决你的问题,请参考以下文章
在自定义管理页面中显示正确的 django 身份验证框架信息