sqlalachemyを実行しているFlaskアプリケーションがあります。私はsqlalchemyにかなり慣れていないので、本当に混乱しています。私はたくさんのクラスを作りました:
ユーザーコース講義ノートキューアセット
すべてに関係があります-ユーザーには多くのコースがあり、コースには多くのユーザーがあり、ユーザーには多くの講義があり、講義には多くのユーザーがあり、ユーザーには多くのメモがあり、メモには多くのユーザーがあり、コースには多くの講義があり、講義には多くのメモがあり、コースには多くのメモがあります、講義には1対1のキューがあり、ユーザーは多くのキューを持つことができ、キューには多くのユーザーが必要です。
それで、私が講義を作成するときはいつでも、それに関連する他のすべてのものでそれをインスタンス化する必要がありますか?
たとえば、これは私が新しい講義をするために書いたコードです
def createLecture(user, course):
# user and course are existing objects fetched from the db already
# create new lecture
newLecture = Lecture()
db.session.add(newLecture)
# add lecture to course, add new queue to lecture, add user to queue, add user to lecture
course.lectures.append(newLecture)
lecture.users.append(user)
newQueue = Queue()
db.session.add(newQueue)
newQueue.users.append(user)
newQueue.lecture = newLecture
db.session.commit()
return newLecture
これは、途方もなく複雑で混乱しているように私を襲います。紛らわしいことに加えて、私が作るべきすべての関係をカバーしたかどうかさえわかりません(非常に多くの関係を忘れがちです)。
さまざまな関係を持つ他の多くのオブジェクトに関連付けられている場合、新しいオブジェクトを追加するためのより良い方法が必要です。
どうすればもっと整理できますか?