On 2/25/07, DuncanM <[EMAIL PROTECTED]> wrote:
>
> I have 2 classes:
>
> class Player(models.Model):
>   team = models.ForeignKey(Team)
>   forename = models.CharField(maxlength=50)
>   surname = models.CharField(maxlength=50)
>   age = models.PositiveIntegerField()
>   sex = models.CharField(maxlength=1, choices=Gender_Choices)
>   class Admin:
>     pass
>     list_display = ('forename', 'surname', 'age', 'team', 'sex')
>     list_filter = ['team']
>     search_fields = ['forename']
>   #String method
>   def __str__(self):
>     return self.surname
>
> and
>
> class Result(models.Model):
>   team = models.ForeignKey(Team)
>   venue = models.CharField(maxlength=1, choices=Fixture_Choices)
>   date = models.DateField()
>   opponent = models.CharField(maxlength=100)
>   competition = models.ForeignKey(Competition)
>   howdenscore = models.IntegerField()
>   opponentscore = models.IntegerField()
>   goalkeeper = models.ForeignKey(Player)
>   leftback = models.ForeignKey(Player)
>   centreback1 = models.ForeignKey(Player)
>   centreback2 = models.ForeignKey(Player)
>   rightback = models.ForeignKey(Player)
>   leftmid = models.ForeignKey(Player)
>   centremid1 = models.ForeignKey(Player)
>   centremid2 = models.ForeignKey(Player)
>   rightmid = models.ForeignKey(Player)
>   striker = models.ForeignKey(Player)
>   striker = models.ForeignKey(Player)
>   sub1 = models.ForeignKey(Player)
>   sub2 = models.ForeignKey(Player)
>   sub3 = models.ForeignKey(Player)
>   sub4 = models.ForeignKey(Player)
>   sub5 = models.ForeignKey(Player)
>   class Admin:
>     pass
>     list_display = ('date', 'team', 'venue', 'opponent',
> 'competition', 'howdenscore', 'opponentscore')
>     list_filter = ['date', 'team', 'venue', 'competition']
>     search_fields = ['date']
>   def __str__ (self):
>     return self.opponent
>
>
> However when I try and run syncdb I get the following error:
> teams.result: Accessor for field 'sub5' clashes with related field
> 'Player.result_set'. Add a related_name argument to the definition for
> 'sub5'.
>
> teams.result: Accessor for field 'sub5' clashes with related field
> 'Player.result_set'. Add a related_name argument to the definition for
> 'sub5'.
>
>
> *Note that I get the same error for each of the fields from goalkeeper
> through to sub5 (all are foreignkeys of player)
>
>
> Am I going about it in the right way?  Or is my modelling wrong?
your modeling is fine, just add UNIQUE related_name to each foreign
key so that they don't crash...

if you keep it like this, what should you get, when you ask for a
result_set on a player object?
all the results where he played as goalkeeper or striker?

the system doesn't know and it needs you to sort this out

>
> What I'm trying to achieve is having a table full of players, and for
> a result I want to see which 17 of those players were at the game (to
> calculate appearances later on) so the results page would be such
> like:
>
> Team A vs Team B
> 10th March
> Old Trafford
> 2-1
> Gary Neville
> Edwin Van der Saar
> Patrice Evra
> Rio Ferdinand
> Wayne Rooney
>
> etc (listing the full team who played and the subs chosen)
>
> Many thanks,
> Duncan
>
>
> >
>


-- 
Honza Kr�l
E-Mail: [EMAIL PROTECTED]
ICQ#:   107471613
Phone:  +420 606 678585

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to