6

どこかのパッケージで参照できるPython組み込みメソッドはありますか?

説明させてください。Python の初期の (より早い) 頃に、次のような 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 組み込みを参照するための代替の場所の主な質問であるため、この特定のケースについてはあまり心配していません。

4

2 に答える 2

15

を使用するbuiltinsか、Python2を使用し__builtin__ている場合。

def open():
    pass

import __builtin__

print open
print __builtin__.open

これはあなたに与えます:

<function open at 0x011E8670>
<built-in function open>
于 2011-01-04T22:18:06.507 に答える