我有一個我的頁面的custum註冊表單,我試圖創建一個乾淨的方法,可以檢查用戶嘗試註冊時是否感到不適。如果他們感到不快,他們不應該看到任何警告。清理兩個表單字段在一起
我的模型:
class Profile(models.Model):
user = models.OneToOneField(User)
external_reference = models.CharField(max_length=500, blank=True)
我的清潔方法:
def clean_email(self):
email = self.cleaned_data['email']
external_reference = self.cleaned_data['external_reference']
if User.objects.filter(email=email).exists():
try:
#User exist, use form to update user
Profile.objects.get(external_reference=external_reference, user__email=email)
return email
except Profile.DoesNotExist:
raise forms.ValidationError(u'Email in use')
return email
我得到這個錯誤:KeyError: 'external_reference'
也許只可能 「乾淨」 的一個字段的時候?有沒有另外一種方法呢?
這樣的事情應該使用'clean()'形式的方法而不是字段來完成。 – Rohan 2014-09-02 11:57:22