wuwei007
V2EX  ›  问与答

Django 外键问题

  •  
  •   wuwei007 · Dec 2, 2018 · 2073 views
    This topic created in 2733 days ago, the information mentioned may be changed or developed.

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

    3 replies    2018-12-02 15:09:56 +08:00
    di94sh
        1
    di94sh  
       Dec 2, 2018   ❤️ 3
    1. django model ForeignKey 字段中可以指定 `db_constraint=False` 那么在使用 Django migration 的时候就不会在数据库中生成外键.
    2. 模型与数据库是完全分离的, ForeignKey 的作用是获取关联的对象时, 自动帮你构造查询语句, 查询, 并给你返回查询的对象, 与数据库中的外键性质是不一样的, 数据库中的外键是保证数据的完整性. 比如说 你够贱了一对多关系, 在有多的一方的前提下, 是不能删除一的. 没有外键就没有这个限制.
    KgM4gLtF0shViDH3
        2
    KgM4gLtF0shViDH3  
       Dec 2, 2018 via iPhone
    @di94sh #1 多谢
    wd
        3
    wd  
       Dec 2, 2018 via iPhone
    数据库里面不用的话,后续可能会导致你的 model 和 db 内数据不一致的情况,查出来的数据可能会不对。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1413 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 250ms · UTC 17:02 · PVG 01:02 · LAX 10:02 · JFK 13:02
    ♥ Do have faith in what you're doing.