擅长:python、mysql、java
<p>我不知道你所说的“Django不提供这种机制”是什么意思。如果您在视图中使用Django表单,那么可以编写一个干净的方法<a href="https://docs.djangoproject.com/en/1.8/ref/forms/validation/#cleaning-and-validating-fields-that-depend-on-each-other" rel="nofollow">validates fields that depend on each other</a>。你知道吗</p>
<pre><code>class MyForm(forms.Form):
email = forms.EmailField(required=False)
cell = forms.CharField(required=False, max_length=20)
def clean(self):
cleaned_data = super(MyForm, self).clean()
if cleaned_data.get('email') and cleaned_data.get('cell'):
raise forms.ValidationError("Please select either E-mail address or cell number, but not both")
return cleaned_data
</code></pre>