V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
wuwei007
V2EX  ›  问与答

Django 外键问题

  •  
  •   wuwei007 · 2018-12-02 00:50:16 +08:00 · 1612 次点击
    这是一个创建于 2186 天前的主题,其中的信息可能已经有所发展或是发生改变。

    django 模型大量使用外键, 与生产项目中数据库不使用外键 是否想违背了?

    3 条回复    2018-12-02 15:09:56 +08:00
    di94sh
        1
    di94sh  
       2018-12-02 01:18:47 +08:00   ❤️ 3
    1. django model ForeignKey 字段中可以指定 `db_constraint=False` 那么在使用 Django migration 的时候就不会在数据库中生成外键.
    2. 模型与数据库是完全分离的, ForeignKey 的作用是获取关联的对象时, 自动帮你构造查询语句, 查询, 并给你返回查询的对象, 与数据库中的外键性质是不一样的, 数据库中的外键是保证数据的完整性. 比如说 你够贱了一对多关系, 在有多的一方的前提下, 是不能删除一的. 没有外键就没有这个限制.
    KgM4gLtF0shViDH3
        2
    KgM4gLtF0shViDH3  
       2018-12-02 09:00:38 +08:00 via iPhone
    @di94sh #1 多谢
    wd
        3
    wd  
       2018-12-02 15:09:56 +08:00 via iPhone
    数据库里面不用的话,后续可能会导致你的 model 和 db 内数据不一致的情况,查出来的数据可能会不对。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3086 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 14:21 · PVG 22:21 · LAX 06:21 · JFK 09:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.