Django новичок здесь. У меня есть модель «многие ко многим», и я хочу обновить несколько значений одновременно.
Это модель (упрощенная):
class Inventory(models.Model):
item = models.ForeignKey(Items, models.CASCADE)
player = models.ForeignKey(Players, models.CASCADE)
count = models.PositiveIntegerField()
Сейчас я делаю следующее:
for key in dict:
change_value = Inventory.objects.get(player=player, item=key)
change_value.count += dict[key]
change_value.save()
По крайней мере, в моей тестовой среде HDD это очень медленно. Есть ли более эффективный способ сделать это? В других сообщениях было предложено использовать обновление вместо этого, так что это будет:
for key in dict:
Inventory.objects.get(player=player, item=key).update(count=dict[key])
Это будет быстрее? Можно ли еще улучшить это, обновляя несколько записей одновременно? Кроме того, существует ли эффективный способ добавления нескольких новых записей?