Является новым для Python. Я работаю над проектом с использованием Peewee ORM и Bottle.Как я могу получить доступ к глобальной переменной в внутреннем классе python
В моем файле models.py есть мои модели. Моя переменная «db» определена в моем основном файле (index.py). Я хотел бы получить доступ к тому же экземпляру «db», используя глобальный в базовом классе BaseModel Meta ниже.
from peewee import *
import settings
class BaseModel(Model):
global db
class Meta:
global db
database = db
class Account(BaseModel):
created_ip = CharField(null=True)
created_on = DateTimeField()
Я получаю ошибку ниже, когда я пытаюсь запустить код
Traceback (most recent call last):
File "index.py", line 11, in <module>
from models import Account, Crawl, Site, Url
File "/api/models.py", line 4, in <module>
class BaseModel(Model):
File "/api/models.py", line 7, in BaseModel
class Meta:
File "/api/models.py", line 9, in Meta
database = db
NameError: name 'db' is not defined
Могу ли я получить доступ к глобальной «DB» во внутреннем классе, есть более простой способ использовать глобальный «дб "экземпляр в другом файле?
Спасибо
Вы не назначенную 'db' значение в этом модуле. Глобалы - это модули. – kindall
Я просто хочу убедиться, что понимаю, что вы говорите. Если я определяю глобальное значение в одном файле, я не смогу использовать его значение в другом файле, даже если я импортировал определяющий файл? – user964491