J'ai le code suivant, où d'une manière ou d'une autre la classe n'honore pas le soi. name., lorsque j'accède à la variable de classe dans une fonction, il se plaint que self.variable n'est pas une variable globale. Des idées pourquoi?NameError: nom global Erreur dans la classe, mais est effectivement défini
from sqlalchemy import Column, ForeignKey, Integer , String, Float, DateTime
from sqlalchemy.ext.declarative import declarative_base
Base=declarative_base()
class Designs(Base):
__tablename__='designs'
design_name=Column(String(80),nullable=False,primary_key=True)
@property
def serialize(self):
return{
'design_name': self.design_name,
}
Quand j'accéder à la classe, design_name est là, mais en quelque sorte python se plaint il n'est pas déclarée mondiale? Des idées?
disons température déclarée avec la classe Designs, et est rempli de valeur pour design_name
print temp.design_name
print temp.serialize()
xpc_fp <----- print i.design_name works
commande serialize ne fonctionne pas ** et donne l'erreur suivante:
Traceback (most recent call last):
File "<stdin>", line 3, in <module>
File "database_setup.py", line 149, in serialize
'design_name': self.design_name,
NameError: global name 'design_name' is not defined
Bien sûr, je vais avoir une estimation. Le code que vous utilisez n'est pas le code que vous avez publié. Dans votre code actuel, vous n'avez pas les guillemets autour de 'design_name' dans le dictionnaire. – kindall
Votre code ne peut pas produire cette erreur. Assurez-vous de sauvegarder le fichier, puis réexécutez. – shx2
l'appellent comme ceci 'i.serialize' sans le parenthese – Cicero