[점프 투 플라스크] "2-04 모델로 데이터 처리하기" 문의 드립니다.
"[2] 데이터베이스 변경을 위한 리비전 파일 생성하기"에서
flask db migrate 명령을 수행하면,
(myproject) c:\projects\myproject>flask db migrate
Traceback (most recent call last):
File "C:\Users\GACHON\anaconda3\lib\runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Users\GACHON\anaconda3\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "C:\venvs\myproject\Scripts\flask.exe__main__.py", line 7, in
File "c:\venvs\myproject\lib\site-packages\flask\cli.py", line 994, in main
cli.main(args=sys.argv[1:])
File "c:\venvs\myproject\lib\site-packages\flask\cli.py", line 600, in main
return super().main(args, kwargs)
File "c:\venvs\myproject\lib\site-packages\click\core.py", line 1053, in main
rv = self.invoke(ctx)
File "c:\venvs\myproject\lib\site-packages\click\core.py", line 1659, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "c:\venvs\myproject\lib\site-packages\click\core.py", line 1659, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "c:\venvs\myproject\lib\site-packages\click\core.py", line 1395, in invoke
return ctx.invoke(self.callback, ctx.params)
File "c:\venvs\myproject\lib\site-packages\click\core.py", line 754, in invoke
return __callback(args, kwargs)
File "c:\venvs\myproject\lib\site-packages\click\decorators.py", line 26, in new_func
return f(get_current_context(), *args, kwargs)
File "c:\venvs\myproject\lib\site-packages\flask\cli.py", line 443, in decorator
with ctx.ensure_object(ScriptInfo).load_app().app_context():
File "c:\venvs\myproject\lib\site-packages\flask\cli.py", line 406, in load_app
app = locate_app(self, import_name, name)
File "c:\venvs\myproject\lib\site-packages\flask\cli.py", line 276, in locate_app
return find_best_app(script_info, module)
File "c:\venvs\myproject\lib\site-packages\flask\cli.py", line 68, in find_best_app
app = call_factory(script_info, app_factory)
File "c:\venvs\myproject\lib\site-packages\flask\cli.py", line 123, in call_factory
return app_factory(args, *kwargs)
File "C:\projects\myproject\pybo__init.py", line 18, in create_app
from . import models
File "C:\projects\myproject\pybo\models.py", line 10, in
class Answer(db.Model):
File "C:\projects\myproject\pybo\models.py", line 14, in Answer
content = db.Comyplumn(db.Text(), nullable=False)
AttributeError: 'SQLAlchemy' object has no attribute 'Comyplumn'
이렇게 에러가 나온답니다.
2021년1월19일에 답변이 올라와 있는 내용과 같이
models.py 파일은 아래와 같이 되어 있습니다.
from pybo import db
class Question(db.Model):
id = db.Column(db.Integer, primary_key=True)
subject = db.Column(db.String(200), nullable=False)
content = db.Column(db.Text(), nullable=False)
create_date = db.Column(db.DateTime(), nullable=False)
class Answer(db.Model):
id = db.Column(db.Integer, primary_key=True)
question_id = db.Column(db.Integer, db.ForeignKey('question.id', ondelete='CASCADE'))
question = db.relationship('Question', backref=db.backref('answer_set'))
content = db.Comyplumn(db.Text(), nullable=False)
create_date = db.Column(db.DateTime(), nullable=False)
기존 SQLAlchemy은 uninstall하고
pip install SQLAlchemy==1.3.23 하였습니다.
제가 어떤 부분을 잘못한 걸지요?
박응용 선생님의 점프 투 파이썬 부터 시작해서
여기까지 애독하고 있는데
이부분에서 애러가 생겼답니다.
juice 님 352
M 2021년 11월 24일 2:23 오후
2개의 답변이 있습니다. 1 / 1 Page
안녕하세요.
content = db.Comyplumn(db.Text(), nullable=False)
를
content = db.Column(db.Text(), nullable=False)
으로 수정하셔야 합니다.
박응용 님
2021년 11월 24일 6:22 오후