我正在尝试设计一种验证表单字段的方案。我决定您可以将验证器列表传递给每个字段,例如,
Field(validators=[email_validator, required_validator])
但后来我想,如果你想将验证器
or
放在一起,而不是 and
ing 它们呢?例如,接受加拿大邮政编码或美国邮政编码的字段。当然,我可以创建一个可以接受任何一个的新验证器,但如果我能想出一种允许用户选择的方法,那就太好了。有没有办法可以操纵按位运算符?
Field(validators = required&(postal_code|zip_code))
还是我只是把事情弄得太复杂了,然后用脚射击自己?
最佳答案
Django 通过使用 Q
对象来解决这个问题,这些对象可以使用 &
和 |
组合来创建更复杂的条件。模仿他们使用的东西可能是一个可以接受的解决方案。
关于用于和/或将事物结合在一起的 Python 语法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3115170/