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

自定义管理器和“通过”

  •  1
  • Jiaaro  · 技术社区  · 15 年前

    我发现自己现在需要存储一些关于多对多关系的数据,但我不想丢失add方法。我可以为“through”模型上的所有附加字段设置一个默认值,然后以某种方式重新实现add方法吗?

    我真的不太了解定制经理,但我怀疑这可能是一个合适的地方。

    更新:

    我一直在仔细阅读 custom managers

    有人知道怎么做吗?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Carl Meyer    15 年前

    最简单的方法是向相册添加一个方法(即Album.add_photo()),该方法处理元数据并手动创建一个正确链接的照片实例。

    如果你想得到所有的时髦,你可以为照片编写一个自定义管理器,将其设为默认值(即第一个指定的管理器),设置 use_for_related_fields = True 并为其提供一个add()方法,该方法能够正确设置关系的默认元数据。