Assign an Instance in a ForeingKey in Django -



Assign an Instance in a ForeingKey in Django -

i got kind of error before , prepare it, don't know what's happening, how can prepare it?

i'm getting:

cannot assign "u'2'": "closedbets.bet_user_a" must "teams" instance.

my models:

class closedbets(models.model): match = models.foreignkey(match2x1) user_a = models.foreignkey(user,related_name="+") bet_user_a = models.foreignkey(teams,related_name="bet_user_a") user_b = models.foreignkey(user) bet_user_b = models.foreignkey(teams,related_name='bet') def __unicode__(self): match = "%s vs %s"%(self.match.team_a,self.match.team_b) homecoming match

my views:

z = bets.objects.filter(match_id=request.post['match']).exclude(user=self.request.user).filter(~q(bet_id=request.post['team']),value=request.post['valor']) bet = z.first() if bet: print bet.match_id print bet.user_id if z: #si hay z closedbets.objects.create(match_id=request.post['match'],user_a=self.request.user,bet_user_a=request.post['team'],user_b=bet.user_id,bet_user_b=bet.match_id)

match , bet_user_a foreign keys can't assign simple strings/integers these fields. have instances of fk models db , assign them in create() call:

closedbets.objects.create( match=match2x1.objects.get(pk=request.post['match']), user_a=self.request.user, bet_user_a=teams.objects.get(pk=request.post['team']), user_b=bet.user_id, bet_user_b=bet.match_id)

also note field in closedbets model called match trying create instance match_id field.

django django-models django-queryset

Comments

Popular posts from this blog

java - How to set log4j.defaultInitOverride property to false in jboss server 6 -

c - GStreamer 1.0 1.4.5 RTSP Example Server sends 503 Service unavailable -

Using ajax with sonata admin list view pagination -