¿Los métodos python built-in están disponibles para referencia en un paquete en algún lugar?¿Los métodos incorporados de python están disponibles en un espacio de nombres alternativo en cualquier lugar?
Déjame explicarte. En mis primeros días (IER) de pitón hice un modelo de Django similar a esto:
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")
ya que he necesitado para añadir un alojamiento a la misma. Esto me deja con este modelo:
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)
Así que ahora en tiempo de ejecución se produce el error: TypeError: 'ForeignKey' object is not callable
. Esto está sucediendo porque ForeignKey for property ha reemplazado la propiedad del identificador incorporado. Lo que me gustaría poder hacer es, en lugar de @property
, usar @sys.property
(o algo similar).
Nota: Ya conozco la solución alternativa de mover la propiedad del nombre por encima de la declaración del campo de propiedad. No estoy tan preocupado por este caso en particular, ya que soy la principal pregunta de las ubicaciones alternativas para hacer referencia a las incorporaciones de Python.
Tal vez no lo entiendo, pero no puedes cambiar el nombre de su clase 'MyModel'' property' otra cosa, como '_property' o que- ¿Tienes? – martineau
Esa no era la pregunta. –
No, pero eso no hace que la mía sea irrelevante. – martineau