代码之家  ›  专栏  ›  技术社区  ›  kAldown

具有三个外键和重写关系的表

  •  0
  • kAldown  · 技术社区  · 5 年前

    想象一下我有桌子:

    class User():
       id = PrimaryKey()
    
    class Episode():
        id = PrimaryKey()
        level_id = ForeignKey() 
    
    class Level():
        id = ForeignKey()
    
    class Course():
        id = PrimaryKey()
        user_id = ForeignKey() 
        episode_id = ForeignKey() 
        level_id = ForeignKey()
    
        price_payed = Float()
        order_number = Int()
    

    我有一个 Episode 指的是 Level (指剧集),但突然我意识到我必须按照特定的顺序和不同的顺序来包含一组剧集 水平 . 有点像

    episode_id | level_id | Course.level_id | order_number
    
    1          |    2     |    2            |   1
    2          |    2     |    2            |   2
    3          |    1     |    2*           |   3
    4          |    2     |    2            |   4
    

    所以通过 Course 通过 level_id 水平 ),但不是 真实的 一个(参见 Episode.id == 3

    所以我的问题是。对于以下问题,是否有任何模式或解决方案?

    0 回复  |  直到 5 年前