数据属性覆盖基类方法:Python

时间:2016-02-09 12:34:29

标签: python python-2.7 google-app-engine

我有一个名为 SearchQuery 的类,我将数据属性命名为 query (type:String);但是基类有一个类方法query()。所以我的 SearchQuery 类如下:

class SearchQuery(ndb.Model):
    query = ndb.StringProperty()

现在我写的时候:

SearchQuery.query()

我明白了:

TypeError: 'StringProperty' object is not callable

如何调用查询方法?我将更改我的数据成员名称,但在更改之前我必须复制数据。要进行复制,必须调用 query()

2 个答案:

答案 0 :(得分:1)

您可以使用 super

如果你有

class Parent(object):
 def query(self):
  print "Hello"

class Child(Parent):
 query = "Some string"

并创建一个像这样定义的Child对象

c = Child()

然后,您可以使用 super 访问 Parent 中的查询功能:

super(Child, c).query()

答案 1 :(得分:0)

你根本不需要打电话; SearchQuery.query()等于ndb.Query(kind="SearchQuery")