首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Django

11 年前的一個 ticket,到現在還沒解決。。。

  •  
  •   013231 · 2017-01-13 23:06:09 +08:00 · 3388 次点击
    这是一个创建于 982 天前的主题,其中的信息可能已经有所发展或是发生改变。
    https://code.djangoproject.com/ticket/897

    Bi-Directional ManyToMany in Admin
    14 回复  |  直到 2018-07-21 06:16:33 +08:00
        1
    julyclyde   2017-01-14 00:12:29 +08:00
    不是为 django 开脱
    数据库里如果出现 many to many 基本上就是设计错误
        2
    013231   2017-01-14 00:25:15 +08:00
    @julyclyde 为什么?
        3
    shoaly   2017-01-14 00:45:27 +08:00
    文章 article_id , 标记 tag_id, 一篇文章可以多个 tag_id, 同一个 tag_id 也可以对应多个 article_id, m:m ?
        4
    zonghua   2017-01-14 00:48:54 +08:00 via iPhone
    @013231 查询吃力
        5
    latyas   2017-01-14 01:02:05 +08:00
    manytomany 有啥错?
    django 也是通过中间表来做映射的,也就是多个 JOIN 罢了,除非有强性能要求不允许数据库中出现 JOIN 或者限制 JOIN 次数。

    而且这个和 M2M 没关系吧 这是问 django admin 的问题
        6
    013231   2017-01-14 01:34:31 +08:00
    @zonghua 多表联合查询是可能有性能问题, 但不能说这是设计错误啊.
        7
    013231   2017-01-14 01:39:23 +08:00
    @latyas 没错, 这就是 django.contrib.admin 的问题, 和数据库结构没关系.
        8
    julyclyde   2017-01-14 02:16:19 +08:00
    @013231 正确的做法是额外有个 m*n 表,而不是直接在表上做 many to many
        9
    Kilerd   2017-01-14 09:15:37 +08:00 via iPhone
    由此证明了 flask 的优越性 😋😋😋
        10
    chaleaoch   2017-01-14 21:36:09 +08:00
    @julyclyde 区别是?
        11
    kankana   2017-01-15 09:45:50 +08:00 via iPhone
    是说需要 pivot 表吧
        12
    qwer1234asdf   2017-01-15 13:16:25 +08:00 via iPhone
    可以参考下 cakephp 模型的设计, 1.2 版的,新版本的不知道,没用过……
    其实,这不应该是框架的问题, flask 也会出现 many to many 的情形,可以弄一个中间表
        13
    msg7086   2017-01-16 06:24:11 +08:00
    @julyclyde 你这话挺有问题的。
    Many to many 的标准做法就是加一张关联表。
    「数据库里如果出现 many to many 基本上就是设计错误」是什么鬼。
        14
    dcoder   2018-07-21 06:16:33 +08:00
    @julyclyde

    「数据库里如果出现 many to many 基本上就是设计错误」是什么鬼。+1

    "正确的做法是额外有个 m*n 表,而不是直接在表上做 many to many" 这又是什么意思?
    Django 的 many to many 本身就会建立一个额外的表来存关系的呀?
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2633 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 13:15 · PVG 21:15 · LAX 06:15 · JFK 09:15
    ♥ Do have faith in what you're doing.