私はSQLAlchemyを初めて使用しています。SQLAlchemyを使用して練習プロジェクトを構築しようとしています。次の関係を持つテーブルを含むデータベースを作成しました。今私の質問は以下のとおりです。SQLAlchemy(flask_sqlalchemyまたはflask-mergeではなく)を使用して相互関係テーブルにデータを挿入する方法はありますか?
- 彼らは相互に依存しているとしてテーブルにデータを挿入する方法?
- これはデータベース設計のループですか?
ルーピングデータベースの設計は悪いですか?悪い習慣なら、これを解決するには?
Department.manager_ssn ==> Employee.SSN
と
Employee.department_id ==> Department.deptid
、次のコードは正確にこれを作成する現在のバージョンでありますデータベース。
# Department table
class Departments(Base):
__tablename__ = "Departments"
# Attricutes
Dname= Column(String(15), nullable=False)
Dnumber= Column(Integer, primary_key=True)
Mgr_SSN= Column(Integer, ForeignKey('Employees.ssn'), nullable=False)
employees = relationship("Employees")
# Employee table
class Employees(Base):
__tablename__ = "Employees"
# Attributes
Fname = Column(String(30), nullable=False)
Minit = Column(String(15), nullable=False)
Lname = Column(String(15), nullable=False)
SSN = Column(Integer, primary_key=True)
Bdate = Column(Date, nullable=False)
Address = Column(String(15), nullable=False)
Sex = Column(String(1), default='F', nullable=False)
Salary = Column(Integer, nullable=False)
Dno = Column(Integer, ForeignKey('Departments.Dnumber'), nullable=False)
departments = relationship("Departments")
過ぎず、フラスコSQLAlchemyのか、フラスコ、移行にSQLAlchemyの中にソリューションを提供し、私は、Python 3.6を使用していてください。
私はhttps://stackoverflow.com/a/10458105/4995451 、あなたはループの関係について、この答えを読むべきだと思うが、あなたがこのような構造を維持したい場合は、 'NULL可能= true'をとの関係を作ることができます。あなたは別のテーブルの前に1つのテーブルを挿入することができます –
@ faisalburhanudinありがとう、それは私の問題を解決しました。 – Sunil