Django模型字段。自定义字段值设置器 [英] Django model fields. Custom field value setter

查看:118
本文介绍了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 定义设置器:
http://docs.python .org / library / functions.html#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模型字段。自定义字段值设置器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆