私は表面的に単純な問題があります。入力されたメールアドレスが有効であるかどうかを確認する必要がありシェルでDjangoモデルの検証は行われません
from django.db import models
class Email(models.Model):
def __unicode__(self):
return self.email
email = models.EmailField()
EmailField、according to the docs、:ここに私のmodels.pyです。だから、なぜ私のシェルは私に不正な形式のメールを保存させるのですか?シェルでは:
>>> from emailapp.models import Email
>>> e = Email(email="sdf")
>>> e
<Email: sdf>
>>> e.save()
>>> Email.objects.all()
[<Email: [email protected]>, <Email: [email protected]>, <Email: sdf>]
管理インターフェイスは、私はこれらの不正な形式の電子メールを保存することはできませんが、シェルdoes.Whyはこれですか?
私はこの検証とはどこですか?私はまだこのバリデーションを行わずにコンソールにsave()することができないように、バリデーションコードをどこに置くべきか明確ではありません。 julioは以下のようにsave()関数を上書きする必要がありますか?私はそれを行うことができる唯一の方法です[https://docs.djangoproject.com/ja/1.3/topics/db/models/#overriding-model-methods]ですか? – Coder