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

大家用 ORM 时,会用软外键还是硬外键?

  •  
  •   pc10201 · 2016-11-24 09:47:21 +08:00 · 6577 次点击
    这是一个创建于 2900 天前的主题,其中的信息可能已经有所发展或是发生改变。
    用 django 自带的 ORM ,默认都是硬外键的,就是会在数据库建表语句中生成外键关系,当然也可以指定软外键,比如 user = models.ForeignKey('User', db_constraint=False)

    小项目都无所谓
    大项目,数据量一多,硬外键不方便数据库做扩展~
    17 条回复    2018-02-09 11:26:33 +08:00
    weer0026
        1
    weer0026  
       2016-11-24 10:00:22 +08:00
    用软外键,现在后端框架都是用代码来实现外键约束的。
    jimzhong
        2
    jimzhong  
       2016-11-24 10:03:00 +08:00
    硬外键
    yaku
        3
    yaku  
       2016-11-24 10:06:00 +08:00
    软外键,约束用代码实现
    mikan
        4
    mikan  
       2016-11-24 10:13:03 +08:00
    硬外键
    qiyuey
        5
    qiyuey  
       2016-11-24 10:31:23 +08:00
    软外键,不建议使用硬外键。
    zander1024
        6
    zander1024  
       2016-11-24 10:33:32 +08:00
    学校里老师要求硬 , 自己出来写代码软...
    lrh3321
        7
    lrh3321  
       2016-11-24 10:51:17 +08:00
    软外键,约束用代码实现

    另外,公司主要使用 MongoDB ,并不能添加外键
    winnie2012
        8
    winnie2012  
       2016-11-24 11:01:49 +08:00
    硬件要硬,软件要软,顺势而为,不要总想搞个大新闻。
    xinyu198736
        9
    xinyu198736  
       2016-11-24 11:15:12 +08:00
    不建议用外键。。
    heyang
        10
    heyang  
       2016-11-24 11:17:53 +08:00
    模块内用硬,模块间 ORM 带的软外键都不用,代码逻辑维护。
    evlos
        11
    evlos  
       2016-11-24 11:18:55 +08:00 via iPhone
    项目不大,硬外键
    imlonghao673
        12
    imlonghao673  
       2016-11-24 11:22:06 +08:00 via Android
    jessynt
        13
    jessynt  
       2016-11-24 11:30:40 +08:00
    使用逻辑外键,过来人的经验
    SlipStupig
        14
    SlipStupig  
       2016-11-24 11:33:19 +08:00
    @lrh3321 dbref 实现类似外键....
    wintersun
        15
    wintersun  
       2016-11-24 11:35:05 +08:00
    多大的数据量,其项目称之为大?
    硬,有哪些优缺点?
    软,又有哪些优缺点?
    请说个明白!
    mko0okmko0
        16
    mko0okmko0  
       2016-11-24 11:39:34 +08:00
    外键连发两篇 XDDD 另一篇传送们
    https://www.v2ex.com/t/322370#reply111

    我觉得一起看超有意思 XDDDDD
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2499 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:28 · PVG 18:28 · LAX 03:28 · JFK 06:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.