djangoカスタムプロパティ設定ツールでこれを行う方法はありますか?Djangoモデルフィールド。カスタムフィールド値設定ツール
class MyModel(models.Model):
myfield = models.CharField(length = 250)
@myfield.setter
def set_password(self, value):
self.password = encrypt(value)
djangoカスタムプロパティ設定ツールでこれを行う方法はありますか?Djangoモデルフィールド。カスタムフィールド値設定ツール
class MyModel(models.Model):
myfield = models.CharField(length = 250)
@myfield.setter
def set_password(self, value):
self.password = encrypt(value)
あなたは本当には、モデルを保存するに値を設定しますので、save()
法(OT使用pre_save
信号)をオーバーライドすることをお勧めします。
はい、知っている。しかし、私はプロパティだけに興味があります。 –
メソッドに問題がありますか? http://docs.python.org/library/functions.html#property
### Pasted from docs
class C(object):
def __init__(self):
self._x = None
@property
def x(self):
"""I'm the 'x' property."""
return self._x
@x.setter
def x(self, value):
self._x = value
@x.deleter
def x(self):
del self._x
申し訳ありませんが、純粋なクラスプロパティについてです。 djangoモデルではありません。 –
あなたは別のプロパティを持つことができると思います。しかし素晴らしいアイデア。 +1!あなたが解決策を見つけたら教えてください。 –
ジェームズ・ベネットによって、この記事はあなたのHOWTOに良いアイデアを与えるhttp://www.b-list.org/weblog/2006:
あなたはセッターを定義するために
@property
を使用することができます/ aug/18/django-tips-using-properties-models-and-managers/ –related/dupe:http://stackoverflow.com/questions/2898711/django-model-fields-getter-setter#11108157 – Matt