python 内置方法是否可以在某个包中引用?
让我解释.在python的早期(ier)时代,我制作了一个类似于此的django模型:
class MyModel(models.Model):
first_name = models.CharField(max_length=100, null=True, blank=True)
last_name = models.CharField(max_length=100, null=True, blank=True)
property = models.ForeignKey("Property")
Run Code Online (Sandbox Code Playgroud)
我已经需要为它添加一个属性.这让我有这个模型:
class MyModel(models.Model):
first_name = models.CharField(max_length=100, null=True, blank=True)
last_name = models.CharField(max_length=100, null=True, blank=True)
property = models.ForeignKey("Property")
@property
def name(self):
return "{} {}".format(first_name, last_name)
Run Code Online (Sandbox Code Playgroud)
所以现在在运行时我得到错误:TypeError: 'ForeignKey' object is not callable
.发生这种情况是因为ForeignKey属性已替换内置标识符属性.我希望能够做的是,而不是@property
使用@sys.property
(或类似的东西).
注意:我已经知道将name属性移动到属性字段声明之上的解决方法.我不是那么关心这个特殊情况,因为我是引用python内置函数的替代位置的主要问题.
Chr*_* B. 15
使用builtins
,或者__builtin__
如果您使用的是Python 2.
def open():
pass
import __builtin__
print open
print __builtin__.open
Run Code Online (Sandbox Code Playgroud)
这给你:
<function open at 0x011E8670>
<built-in function open>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1792 次 |
最近记录: |