Python 您如何拥有一个名为“quot”的属性;不动产;使用@property装饰器?

Python 您如何拥有一个名为“quot”的属性;不动产;使用@property装饰器?,python,django,properties,built-in,Python,Django,Properties,Built In,我有点问题,我尝试过谷歌搜索,但没有发现任何有用的东西 我正在设计一个django应用程序,我想要/需要一个名为“property”的字段。原因是这是我试图管理的东西的技术名称,如果可能的话,我希望保留业务术语 现在这已经不是问题了。。。直到现在 我现在需要有一个方法,我希望能够将其用作属性,但在使用令牌属性时存在一些冲突 class DataElementConcept(trebleObject): template = "polls/dataElementConcept.html"

我有点问题,我尝试过谷歌搜索,但没有发现任何有用的东西

我正在设计一个django应用程序,我想要/需要一个名为“property”的字段。原因是这是我试图管理的东西的技术名称,如果可能的话,我希望保留业务术语

现在这已经不是问题了。。。直到现在

我现在需要有一个方法,我希望能够将其用作属性,但在使用令牌
属性时存在一些冲突

class DataElementConcept(trebleObject):
    template = "polls/dataElementConcept.html"
    objectClass = models.ForeignKey(ObjectClass,blank=True,null=True)
    property = models.ForeignKey(Property,blank=True,null=True)

    @property
    def registryCascadeItems(self):
        return [self.objectClass,self.property]
我理解这个错误

  File "/home/theodore/Github/possum-mdr/polls/models.py", line 381, in DataElementConcept
    @property
TypeError: 'ForeignKey' object is not callable
是否有办法将此方法视为属性,并保留
属性
属性?

使用内置属性的“完全限定”名称:

import __builtin__

@__builtin__.property
def registryCascadeItems(self): ...
当然,我引用了“完全合格”这个术语,因为这不是一个python术语。python中没有名称限定。实际上,这只是另一个定义原始
属性并可以访问的地方

这也让你的代码更具可读性。毫无疑问,这涉及到什么类型的财产——您明确地提到了内置财产。

也许这有助于:

# On the module-level, do a workaround reference
# as property() is just a normal built-in function
_property = property 

class Foobar:
   property = ....


   @_property
   def registryCascadeItems(self):
       ....
(您需要导入模块才能执行此操作。)