【问题标题】:Django model property with parameter带参数的 Django 模型属性
【发布时间】:2018-07-04 08:01:27
【问题描述】:

我在 Django 中有以下模型。

class User(models.Model):
    name = models.CharField(max_length=50)
    ...
    ...

    @property
    def get_info(self, key=None):
        value = self.name if key else 'Hello World'
        return value

但是当我尝试在 Django shell 中执行代码时,出现以下错误。

n [4]: user = User.objects.get(id=1)
n [5]: user.get_info(key='test_key')
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-5-f7b917070aee> in <module>()
----> 1 user.get_info(key='test_key')

TypeError: _get_info() takes exactly 2 arguments (1 given)

【问题讨论】:

    标签: python django properties


    【解决方案1】:

    只需删除 @property 装饰器。如果您需要接受参数,则它不是属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-17
      • 2017-08-05
      • 1970-01-01
      • 1970-01-01
      • 2016-03-17
      • 2012-06-16
      • 2017-08-15
      相关资源
      最近更新 更多