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")
从那以后,我需要向它添加一个属性。这给我留下了这个模型:
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)
所以现在在运行时我得到错误:TypeError: 'ForeignKey' object is not callable
. 发生这种情况是因为属性的 ForeignKey 已替换内置标识符属性。我希望能够做的是,而不是@property
使用@sys.property
(或类似的东西)。
注意:我已经知道将 name 属性移到属性字段声明上方的解决方法。我不太关心这种特殊情况,因为我是引用 python 内置程序的替代位置的主要问题。