数据属性重写基类方法:Python

2024-04-28 12:13:29 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

当我写的时候:

SearchQuery.query()

我得到:

TypeError: 'StringProperty' object is not callable

如何调用查询方法?我将更改我的数据成员名称,但在更改之前,我必须复制数据。对于复制,必须调用query()。你知道吗


Tags: 数据方法stringmodel属性objecttypequery
2条回答

您根本不需要调用它;SearchQuery.query()等于ndb.Query(kind="SearchQuery")

您可以使用超级

如果你有

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

以及

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

然后创建一个子对象,定义如下

c = Child()

然后您可以使用super访问Parent中的查询函数:

super(Child, c).query()

相关问题 更多 >