本文介绍了Django模型字段。自定义字段值设置器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在这样的django自定义属性设置器中有什么办法吗? class MyModel(models.Model):
myfield = models.CharField(length = 250)
@ myfield.setter
def set_password(self,value):
self.password = encrypt(value)
解决方案
方法有什么问题?
instance.set_password('my_pw')
您可以使用 @property
定义设置器:
###从文档中粘贴
class C(object):
def __init __(self):
self._x =无
@property
def x(self):
我是'x'属性。
return self._x
@ x.setter
def x(self,value):
self._x = value
@ x.deleter
def x(self):
del self._x
Is there any way to do in django custom property setter like this?
class MyModel(models.Model):
myfield = models.CharField(length = 250)
@myfield.setter
def set_password(self, value):
self.password = encrypt(value)
解决方案
What's wrong with a method?
instance.set_password('my_pw')
You can use @property
to define setters: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模型字段。自定义字段值设置器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!