coolair
V2EX  ›  Django

Django 访问 relation 时,如何得知是谁访问的?

  •  
  •   coolair · Oct 26, 2022 · 2698 views
    This topic created in 1305 days ago, the information mentioned may be changed or developed.
    比如有 User 和 Department
    d1 = user.department
    d2 = Department.objects.first()

    如何知道 d1 是通过 user 访问的呢?
    我想如果是通过 user.department 访问的,就给这个 department 加上一个属性 department.from=user ,怎么操作好?
    5 replies    2022-12-01 11:13:44 +08:00
    ray5173
        1
    ray5173  
       Oct 26, 2022
    框架不能帮你做这件事吧,只能自己的代码里写逻辑。
    Vegetable
        2
    Vegetable  
       Oct 26, 2022
    设计的不太对劲的样子

    https://imgur.com/a/NNn5FjH

    为了实现这个东西你需要改变框架层面的逻辑,容易改不干净,如果有人合作还增加理解成本
    wingor2015
        3
    wingor2015  
       Oct 26, 2022
    不太明白楼主为什么需要这样做
    954
        4
    954  
       Nov 1, 2022
    重写 User 的 Manager
    HashV2
        5
    HashV2  
       Dec 1, 2022
    给 Department 写 @property form 和 @form.setter ,给 User 写一个 get_department 方法,然后在方法里面把 form set 上去

    从用户获取部门统一用 user.get_department()
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2844 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 13:26 · PVG 21:26 · LAX 06:26 · JFK 09:26
    ♥ Do have faith in what you're doing.