代码之家  ›  专栏  ›  技术社区  ›  Tsuna

一种将m2m场和动作传递到函数参数的方法?django公司

  •  0
  • Tsuna  · 技术社区  · 8 年前

    假设我有一个模型,它有一个m2m字段,名为 best .

    我知道通过在 我们可以做一些类似的事情 model.best.add(blah) 或删除 model.best.remove(blah)

    如果我有另一个m2m字段名为 worst 我想做一个函数,然后用这个参数来定义我是否应该使用 最好的 最差的 add() remove

    是否可能?

    我已经尝试过一些愚蠢的事情,比如:

    def change(field, action, obj):
        model.field.action(obj)
    

    当然,上述方法行不通,如果我在一个模型中有很多m2m字段,有没有办法使其工作,这样我就不需要做很多工作?

    提前感谢您的建议

    1 回复  |  直到 8 年前
        1
  •  0
  •   Tsuna    8 年前

    使用绘制 getattr 可以很好地工作,例如 getattr(model, field) 即使我不使用 action 对于函数,如果我添加了新字段,那么要编写的代码更少,效果更好