Хорошо, поэтому у меня есть такая модель:
class Airplane(models.Model):
tail = models.ForeignKey(Tails)
wheel = models.CharField(max_length=500,blank=True)
window = models.CharField(max_length=500,blank=True)
def clean(self):
if self.tail and self.wheel and self.window:
raise ValidationError("Can't have all three, choose tail and one more")
Теперь, если я пойду, чтобы добавить новую запись в самолете с помощью администратора Django.Если я оставляю оба поля пустыми и сохраняю, я получаю эту ошибку Django, указывающую на строку if self.tail and self.wheel
.
DoesNotExist at /admin/MyProject/airplane/add/
Request Method: POST
Request URL: http://44.101.44.172:8001/admin/MyProject/airplane/add/
Django Version: 1.2.5
Exception Type: DoesNotExist
Exception Value:
Exception Location: /usr/lib/python2.7/site-packages/django/db/models/fields/related.py in __get__, line 299
Python Executable: /usr/bin/python
Python Version: 2.7.0
Разве Django не должен проверять, что обязательные поля заполнены перед запуском clean?В любом случае, как лучше всего решить эту проблему?