¿Cómo conseguiré que funcione lo siguiente?Llamar a Django guardar en un objeto QuerySet - El objeto 'QuerySet' no tiene ningún atributo 'guardar'
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()
que cuando el objeto ya existe en la datbase entonces consigo:
objeto 'QuerySet' no tiene atributo 'salvar'.
En términos de mis modelos, GameParticipant
tiene ForeignKey
tanto Game
y Player
. Entiendo que el filtro devuelve un QuerySet pero no estoy seguro de cómo convertirlo a GameParticipant
o ¿no es eso lo correcto?
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)
¿O HAY ALGUNA MEJOR MANERA DE HACER LO QUE ME TRATA DE HACER? es decir. con .get() en lugar de .filter() pero luego me encuentro con otros problemas ???
Podría publicar su código de modelo para GameParticipant por favor? Verifique y asegúrese de extender los modelos. El modelo también es adecuado. Su modelo debería tener algo así como 'clase GameParticipant (models.Model)'. – wilbbe01
¿Por qué quieres guardar algo que acabas de cargar desde el db, sin modificarlo? –