Czy możliwe jest odwoływanie się do Pythona built-in w pakiecie?Czy wbudowane metody Pythona są dostępne w alternatywnej przestrzeni nazw?
Pozwól mi wyjaśnić. W moim początku (ier) dni od pytona zrobiłem django model podobny do tego:
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")
Mam ponieważ potrzebne, aby dodać obiekt do niego. To pozostawia mnie z tego modelu:
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)
Więc teraz przy starcie pojawia się błąd: TypeError: 'ForeignKey' object is not callable
. Dzieje się tak, ponieważ właściwość ForeignKey dla właściwości zastąpiła wbudowaną właściwość identyfikatora. To, co chciałbym móc zrobić, to zamiast @property
użyć @sys.property
(lub czegoś podobnego).
Uwaga: Już wiem o obejściu problemu przeniesienia własności nazwy powyżej deklaracji pola własności. Nie jestem tak zaniepokojony tym szczególnym przypadkiem, ponieważ jestem głównym pytaniem o alternatywne lokalizacje dla odniesienia do wbudowanych pytonów.
Być może nie rozumiem, ale nie można po prostu zmienić nazwę '' klasę MyModel' coś property' innego, jak '_property' lub what- czy ty? – martineau
To nie było pytanie. –
Nie, ale to nie czyni mnie bez znaczenia. – martineau