我和Event和EventCategory模型有多对多的关系。
有2个事件类别 - 过去(ID为2)和将来(ID为1)。
我想通过
找到将来的所有活动models = Event.objects.filter(categories__slug='future')
然后更新它们以便它们都在过去。
我是否应该创建一个Event实例列表,然后从相关表中删除,并插入具有新类别ID的实例 - 如果可能的话,只需要一些指导,以最有效的方式执行此操作。
非常感谢
答案 0 :(得分:-1)
我不确定这是否是满足我需求的最有效解决方案,但它确实有效:
找到我想要与事件关联的新类别(这是"过去"类别)
cat = EventCategory.objects.get(pk=2)
以下是我现有的关系,其中1是未来类别的ID
models = Event.objects.filter(categories__id=1)
for model in models:
model.categories.clear()
model.categories.add(cat)
现在相关表格中的所有内容都属于过去的类别。