강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

likemika1179 のプロフィール画像
likemika1179

投稿した質問数

Python Web開発(Flask、SQLAlchemyを使用)

登録Webページ開発3

실습 중 질문이 있습니다.

作成

·

525

0

안녕하세요. ipython에서 실습 중 에러가 발생합니다. 

먼저, application.py는 다음과 같이 작성하였습니다.

from flask_sqlalchemy import SQLAlchemy
from flask import Flask

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///C:/jieun/inflearn/form.db'
db = SQLAlchemy(app)

#Role, Member, Project

class Role(db.Model):
    id = db.Column(db.Integer, primary_key = True)
    position = db.Column(db.String(50))
    members = db.relationship('Member'backref = 'role'lazy = 'dynamic')

class Member(db.Model):
    id = db.Column(db.Integer, primary_key = True)
    name = db.Column(db.String(100))

    role_id = db.Column(db.Integer, db.ForeignKey('role.id'))
    projects = db.relationship('Project'secondary = 'member_project'backref = 'member'lazy = 'dynamic')


class Project(db.Model):
    id = db.Column(db.Integer, primary_key = True)
    name = db.Column(db.String(100))
    members = db.relationship('Member'secondary='member_project'backref = 'project'lazy = 'dynamic')

db.Table('member_project'
    db.Column('member_id', db.Integer, db.ForeignKey('member.id')),
    db.Column('porject_id', db.Integer, db.ForeignKey('project.id'))
)

그리고 아래는 ipython에서 실습한 내용입니다.

In [1]: from application import db

c:\jieun\inflearn\venv\lib\site-packages\flask_sqlalchemy\__init__.py:872: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future.  Set it to True or False to suppress this warning.

  warnings.warn(FSADeprecationWarning(

In [2]: from application import Role, Member, Project

In [3]: admin = Role(position = 'admin')

c:\jieun\inflearn\venv\lib\site-packages\sqlalchemy\orm\relationships.py:3441: SAWarning: relationship 'Member.project' will copy column member.id to column member_project.member_id, which conflicts with relationship(s): 'Project.member' (copies member.id to member_project.member_id), 'Member.projects' (copies member.id to member_project.member_id). If this is not the intention, consider if these relationships should be linked with back_populates, or if viewonly=True should be applied to one or more if they are read-only. For the less common case that foreign key constraints are partially overlapping, the orm.foreign() annotation can be used to isolate the columns that should be written towards.   The 

'overlaps' parameter may be used to remove this warning. (Background on this error at: http://sqlalche.me/e/14/qzyx)

  util.warn(

c:\jieun\inflearn\venv\lib\site-packages\sqlalchemy\orm\relationships.py:3441: SAWarning: relationship 'Member.project' will copy column project.id to column member_project.porject_id, which conflicts with relationship(s): 'Project.member' (copies project.id to member_project.porject_id), 'Member.projects' (copies project.id to member_project.porject_id). If this is not the intention, consider if these relationships should be linked with back_populates, or if viewonly=True should be applied to one or more if they are read-only. For the less common case that foreign key constraints are partially overlapping, the orm.foreign() annotation can be used to isolate the columns that should be written towards. 

  The 'overlaps' parameter may be used to remove this warning. (Background on this error at: http://sqlalche.me/e/14/qzyx)

  util.warn(

c:\jieun\inflearn\venv\lib\site-packages\sqlalchemy\orm\relationships.py:3441: SAWarning: relationship 'Project.members' will copy column project.id to column member_project.porject_id, which conflicts with relationship(s): 'Project.member' (copies project.id to member_project.porject_id), 'Member.projects' (copies project.id to member_project.porject_id). If this is not the intention, consider if these relationships should be linked with back_populates, or if viewonly=True should be applied to one or more if they are read-only. For the less common case that foreign key constraints are partially overlapping, the orm.foreign() annotation can be used to isolate the columns that should be written towards.   The 'overlaps' parameter may be used to remove this warning. (Background on this error at: http://sqlalche.me/e/14/qzyx)

  util.warn(

c:\jieun\inflearn\venv\lib\site-packages\sqlalchemy\orm\relationships.py:3441: SAWarning: relationship 'Project.members' will copy column member.id to column member_project.member_id, which conflicts with relationship(s): 'Project.member' (copies member.id to member_project.member_id), 'Member.projects' (copies member.id to member_project.member_id). If this is not the intention, consider if these relationships should be linked with back_populates, or if viewonly=True should be applied to one or more if they are read-only. For the less common case that foreign key constraints are partially overlapping, the orm.foreign() annotation can be used to isolate the columns that should be written towards.   The 'overlaps' parameter may be used to remove this warning. (Background on this error at: http://sqlalche.me/e/14/qzyx)

  util.warn(

db.create_all()로 form.db 파일은 생성된 상황입니다.

보시고 도움 부탁드립니다~!  

pythonsqlalchemyflask

回答 3

0

kwangsung님의 프로필 이미지
kwangsung
インストラクター

이 코드에는 메인함수가 없네요. 아래 주소를 참고해보세요.

https://wikidocs.net/81039

0

likemika1179님의 프로필 이미지
likemika1179
質問者

여전히 에러가 납니다 .. ㅠㅠ

0

kwangsung님의 프로필 이미지
kwangsung
インストラクター

ipython 말고 단순한 python 으로 실행해보세요.

likemika1179 のプロフィール画像
likemika1179

投稿した質問数

質問する