0
我有一個運行sqlalachemy的Flask應用程序。我對sqlalchemy很陌生,所以我非常困惑。我做了一堆類:sqlalchemy:如何組織製作新的類實例?
用戶 場 講座 注 隊列 資產
所有這些都relationships-用戶有很多課程,課程有很多用戶,用戶有很多講座,講座有很多用戶,用戶有很多筆記,筆記有很多用戶,筆記有很多講座,講座有很多筆記,課程有很多筆記,講座有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
這令我費解的離譜和混亂編寫的代碼。除了混淆之外,我甚至不知道我是否覆蓋了我應該做的所有關係(很容易忘記有這麼多的關係)。
當它與許多其他具有各種關係的對象綁定時,必須有一些更好的方法來添加新對象。
我怎樣才能更有條理?