python - 在 Django Admin 中使字段唯一
问题描述
我有一个模型
class ScrapEventInstructionMap(models.Model):
instruction = models.ForeignKey(Instruction)
scrap_code = models.CharField(max_length=100, null=True, blank=True)
event_code = models.CharField(max_length=100, null=True, blank=True)
class Meta:
unique_together = (("instruction", "event_code"), ("instruction", "scrap_code"))
我使用了 unique_together,因此对于特定指令,scrap_code 和 event_code 应该是唯一的。如果我们点击特定的 scrap_code 和 event_code 从前端打开说明页面。
我在 Admin.py 中使用 InlineModelAdmin,这样一条指令可以有多个 scrap_code 或 event_code
但问题就像我们有两条指令,指令 1 和指令 2 所以如果我在两条指令中输入相同的 scrap_code 或 event_code。它正在节省。我必须在管理页面中限制它 event_code 和 scrap_code 对于不同的指令也应该是唯一的。
解决方案
您应该在 InlineAdmin 的 BaseInlineFormSet 中添加自定义验证。这是 BaseInlineFormSet 验证的示例。
推荐阅读
- c++ - 如何修复 Clion 中目标错误的配方?
- elasticsearch - 弹性 Lucene 查询不能与日期一起正常工作
- angularjs - ng-init="loadBankNames()" ng-init() 在引导模型代码中不起作用
- sql - 返回没有内部连接匹配的 LINE
- batch-file - 尝试在 BQ 提取上使用管道符号时出错
- shopify - Shopify Admin GraphQL API 用于获取特定日期的订单
- android - 避免在 Android 8.0 的电视频道中创建重复频道
- javascript - wicked_pdf gem 不执行 formBuilder 渲染功能
- sql - 如何在迁移中自动删除约束 DF_
- uwp - 尝试使用软件 KMDF 驱动程序访问 CustomDevice.FromIdAsync 时访问被拒绝