У меня есть следующий код, где-то класс не чтит себя. name., когда я обращаюсь к переменной класса в функции, он жалуется, что self.variable не является глобальной переменной. Любые идеи почему?NameError: global name Ошибка в классе, но на самом деле определена
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,
}
Когда доступ к классу, design_name есть, но как-то питон жалуется, что не объявлена как глобальная? Есть идеи?
скажем температура объявлена с классом Designs, и заполняется значением для design_name
print temp.design_name
print temp.serialize()
xpc_fp <----- print i.design_name works
команда сериализации не работает ** и выдает следующую ошибку:
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
Конечно, я буду иметь догадку. Код, который вы используете, не является кодом, который вы опубликовали. В вашем фактическом коде у вас нет кавычек вокруг 'design_name' в словаре. – kindall
Ваш код не может произвести эту ошибку. Убедитесь, что вы сохранили файл, а затем повторно запустите. – shx2
назовите его так: 'i.serialize' без parenthese – Cicero