Django: ValueError exception when assigning one-to-many member variable -


i have 2 django models, team , player, player has many-to-one relationship team:

class team(models.model):     name = models.charfield(max_length=20)  class player(models.model):     name = models.charfield(max_length=20)     team = models.foreignkey(team) 

i have created team object, , saved in sql database:

my_team = team(name = 'django_fc') my_team.save() 

now, want create player object, my_player, team my_team object created. outside scope of created my_team, must load database in order assign my_player's team. have therefore tried following:

the_team = team.objects.filter(name = 'django_fc') my_player = player(name = 'mr_python', team = the_team) 

however, following valueerror exception:

cannot assign "[<team: django_fc>]": "player.team" must "team" instance. 

please can explain doing wrong? thank you.

use get() instead of filter():

the_team = team.objects.get(name='django_fc') 

quote docs:

filter() give queryset, if single object matches query - in case, queryset containing single element.

if know there 1 object matches query, can use get() method on manager returns object directly.


Comments