Доступны ли где-нибудь встроенные методы python в альтернативном пространстве имен?

Доступны ли встроенные методы 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' не вызывается . Это происходит потому, что свойство ForeignKey for заменяет свойство встроенного идентификатора. Я бы хотел иметь возможность вместо @property использовать @ sys.property (или что-то подобное).

Примечание: Я уже знаю обходной путь перемещения свойства name над объявлением поля свойства. Меня не так беспокоит этот конкретный случай, поскольку я являюсь основным вопросом об альтернативных местах для ссылки на встроенные модули Python.

6
задан Jason Webb 4 January 2011 в 22:13
поделиться