gpt4 book ai didi

python - Django 在 QuerySet 对象上调用保存 - 'QuerySet' 对象没有属性 'save'

转载 作者:太空狗 更新时间:2023-10-29 17:23:45 25 4
gpt4 key购买 nike

我怎样才能让下面的东西起作用?

player = Player.objects.get(pk=player_id)
game = Game.objects.get(pk=game_id)
game_participant = GameParticipant.objects.filter(player=player, game=game)
game_participant.save()

当对象已经存在于数据库中时,我得到:

'QuerySet' object has no attribute 'save'.

就我的模型而言,GameParticipantGamePlayer 都有 ForeignKey。我知道过滤器会返回一个 QuerySet,但我不确定如何将其转换为 GameParticipant 或者这不是正确的想法吗?

class Player(models.Model):
name = models.CharField(max_length=30)
email = models.EmailField()

class Game(models.Model):
game_date = models.DateTimeField()
team = models.ForeignKey(Team)
description = models.CharField(max_length=100, null=True, blank=True)
score = models.CharField(max_length=10, null=True, blank=True)

class GameParticipant(models.Model):
STATUS_CHOICES = (('Y','Yes'),('N','No'),('M','Maybe'))
status = models.CharField(max_length=10, choices=STATUS_CHOICES)
game = models.ForeignKey(Game)
player = models.ForeignKey(Player)

或者是否有更好的方法来完成我想做的事情? IE。使用 .get() 而不是 .filter() 但后来我遇到了其他问题???

最佳答案

您需要使用 update 方法,因为您要处理多个对象:

https://docs.djangoproject.com/en/2.0/topics/db/queries/#updating-multiple-objects-at-once

关于python - Django 在 QuerySet 对象上调用保存 - 'QuerySet' 对象没有属性 'save',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6221510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com