Я создаю приложение опоки и иметь определенный модуль внутри называется models.py со следующим кодом:глобальное имя «конструктор» не определен
import datetime, re
from app import db
def slugify(s):
return re.sub('[^\w]+', '-', s).lower()
class Entry(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(100))
slug = db.Column(db.String(100), unique=True)
body = db.Column(db.Text)
created_timestamp = db.Column(db.DateTime, default=datetime.datetime.now)
modified_timestamp = db.Column(db.DateTime, default=datetime.datetime.now, onupdate=datetime.datetime.now)
def __init__(self, *args, **kwargs):
super(Entry, self).__init__(*args, **kwargs) # Call parent
constructor.self.generate_slug()
def generate_slug(self):
self.slug = ''
if self.title:
self.slug = slugify(self.title)
def __repr__(self):
return '<Entry: %s' % self.title
Я также создал файл с именем create_db.py с следующий код:
import os, sys
sys.path.append(os.getcwd())
from main import db
if __name__ == '__main__':
db.create_all()
с консоли IPython я импортировал модель ввода с помощью:
from models import *
Howe веры, когда я попытался запустить commnad:
Entry = (title='A post about flask', body='This is the post body.')
Я получаю ошибку: global name 'constructor' is not defined
Мне нужно помочь выяснить ошибку. Благодаря
Что вы не понимаете об ошибке? –
Ошибка сообщает вам, в чем проблема: в вашем коде нет имени 'constructor'. Как вы думаете, что эта линия должна делать? Почему вы используете 'constructor'? Как вы думаете, что это должно делать? –
В 'Entry .__ init__' есть' constructor.self.generate_slug() '. Это ссылка на конструктор. Но вы не определили конструктор нигде. Итак, либо определите конструктор перед ссылкой на него, либо удалите ссылку на него. –