AttributeError:'function'对象没有属性'new'

时间:2014-01-20 10:10:39

标签: python mongodb pymongo

我正在使用python开发一个项目,并使用mongodb作为数据库。我想用pymongo创建一个集合,这就是我所做的:

首先我通过以下方式创建了mongodb集合对象:

class ReportProblem(Collection):
collection = db.report_problem
report_problem = ReportProblem()

在python代码中我所做的是:

def report_problem():    
   problem_data = dict(
      # Data which needs to be store
)
report_problem.new(**problem_data)

所以我收到了一个错误:

  

AttributeError:'function'对象没有属性'new'“at line report_problem.new(** problem_data)”

有人知道为什么会这样吗?

1 个答案:

答案 0 :(得分:2)

report_problem是一个函数,因为您使用def关键字来定义它。函数没有名为.new()的方法。

如果您之前将ReportProblem()实例定义为名为report_problem的变量,那么当您定义函数report_problem时,该实例 shadowed