CharFieldのブラックリストを指定する方法を教えてください。しかし、私はブラックリストがDjangoの管理パネルでも有効であることを望みます...そうでなければ、私はビューでそれを検証します。Django CharFieldの制限
ブラックリストでは、使用できない値を意味します。私も値のためにユニークを設定しましたが、私はいくつかの文字列を無効にしたいと思います。
おかげで、 マックス
CharFieldのブラックリストを指定する方法を教えてください。しかし、私はブラックリストがDjangoの管理パネルでも有効であることを望みます...そうでなければ、私はビューでそれを検証します。Django CharFieldの制限
ブラックリストでは、使用できない値を意味します。私も値のためにユニークを設定しましたが、私はいくつかの文字列を無効にしたいと思います。
おかげで、 マックス
親クラスのsave()メソッドを呼び出す前に、モデルのsave()メソッドとブラックリストに対して挿入する値をオーバーライドします。
(簡体字)のようなもの:
class BlackListModel(models.Model):
blacklist = ['a', 'b', 'c']
# your model fields definitions...
def save(self, *args, **kwargs):
if self.blacklist_field in self.blacklist:
raise Exception("Attempting to save a blacklisted value!")
return super(BlackListModel, self).save(*args, **kwargs)
それはすべてのアプリケーションで動作する方法。
これは、箱から出しできません。 custom form fieldと書くか、custom admin handlingを追加して管理者レベルの検証を行う必要があります。データベースレベルでそれを行うには、何らかの種類のトリガーとストアドプロシージャを設定する必要があると思われますが、それは私の領域ではないので、他の人に任せます。