问题描述
我正在使用 mongoengine 为课程计划和课程设置 Mongo 数据库。课程有一定的水平,这取决于程序。例如,课程 A 可能在课程计划 A 和 C 中为 1 级,但在课程计划 B 中为 2 级。我想在课程和计划之间创建双向链接。此参考还应存储课程的级别。 这个想法是我可以轻松查询给定的课程计划,例如1 级课程是,或者对于给定的课程而言,它是 1 级的课程。
对于常规 Python 类,我可能会使用 dicts 来完成,如下所示:
class CourseProgram():
pass
class Course():
pass
programA = CourseProgram()
programB = CourseProgram()
programC = CourseProgram()
courseA = Course()
courseA.programs = {programA : 1,programB : 2,programC : 1}
programA.courses = {courseA : 1}
programB.courses = {courseA : 2}
programC = {courseA : 1}
或者,它的结构可以如下:
courseA.programs = {1: [programA,programC],2: [programB]}
programA.courses = {1: [courseA]}
programB.courses = {2: [courseA]}
programC.courses = {1: [courseA]}
在 mongoengine 中设计这个的逻辑方法是什么?我考虑了 MapField
和 DictField
作为字段,但它们要求键是字符串。这排除了第一个选项。对于第二个选项,我可以使用 str
而不是 int
作为键。但是,我想知道是否有更好的方法来做到这一点。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)