nem*_*ign 8 django django-models
你知道吗:
unique_together = ("name", "date")
Run Code Online (Sandbox Code Playgroud)
是否存在类似的必填字段?
我有两个字段:ipv4和ipv6.地图上有不同的无线网络,我们将它们称为"孤岛",因为它们没有连接,而是通过VPN隧道连接.
有些岛屿使用ipv4,他们正在实施ipv6,而其他岛屿仅使用ipv6.如果我将ipv4设置为必需,那么对于那些仅仅是ipv6而且如果我将ipv6设置为必需的那些主要是ipv4将会有麻烦.
我可以做两件事:将两个字段设置为不需要或以某种方式设置它,因此必须至少填充其中一个.
第一个解决方案很简单,但不是那么好,而第二个解决方案很好,但我不知道是否有可能没有黑客django.
该应用程序是开源的.
你可以clean
为你的模型编写一个方法.每当您清理模型表单(包括django admin)时,都会调用此方法.
from django.core.exceptions import ValidationError
class MyModel(model.Model):
<field definitions>
def clean(self):
"""
Require at least one of ipv4 or ipv6 to be set
"""
if not (self.ipv4 or self.ipv6):
raise ValidationError("An ipv4 or ipv6 address is required")
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅有关验证对象的文档.
归档时间: |
|
查看次数: |
1621 次 |
最近记录: |