[점프 투 플라스크] "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 46

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 오후

이렇게 빨리 답변을 주시다니 감사합니다.

juice

2021년 11월 25일 9:13 오전