9
9
10
10
class Person (models .Model ):
11
11
user = models .OneToOneField (User , blank = True , null = True , related_name = 'handball_profile' )
12
- clubs = models .ManyToManyField ('Club' , related_name = 'members' , blank = False , through = 'MemberClubRelation' )
13
12
14
13
first_name = models .CharField (max_length = 50 )
15
14
last_name = models .CharField (max_length = 50 )
@@ -20,10 +19,6 @@ class Person(models.Model):
20
19
pass_number = models .IntegerField (unique = True , null = True , blank = True )
21
20
gender = models .CharField (max_length = 10 , choices = (('male' , _ ('male' )), ('female' , _ ('female' ))), default = 'male' )
22
21
mobile_number = models .CharField (max_length = 20 , blank = True )
23
- is_coach = models .BooleanField (default = False )
24
- is_referee = models .BooleanField (default = False )
25
- is_player = models .BooleanField (default = True )
26
- is_exec = models .BooleanField (default = False )
27
22
28
23
def __unicode__ (self ):
29
24
return self .first_name + ' ' + self .last_name
@@ -46,6 +41,7 @@ class Club(models.Model):
46
41
name = models .CharField (max_length = 50 )
47
42
48
43
district = models .ForeignKey ('District' , related_name = 'clubs' )
44
+ members = models .ManyToManyField ('Person' , related_name = 'clubs' , blank = True , through = 'ClubMemberRelation' )
49
45
managers = models .ManyToManyField ('Person' , blank = True , related_name = 'clubs_managed' )
50
46
51
47
def __unicode__ (self ):
@@ -119,7 +115,7 @@ class Game(models.Model):
119
115
group = models .ForeignKey ('Group' , related_name = 'games' )
120
116
game_type = models .ForeignKey ('GameType' )
121
117
site = models .ForeignKey ('Site' )
122
- players = models .ManyToManyField ('Person' , through = 'PlayerGameRelation ' )
118
+ players = models .ManyToManyField ('Person' , through = 'GamePlayerRelation ' )
123
119
124
120
def __unicode__ (self ):
125
121
return '{0}/{1}/{2}: {3} {4} vs. {5} {6}' .format (self .start .year , self .start .month , self .start .day , self .home .club .name , self .home .name , self .away .club .name , self .away .name )
@@ -143,7 +139,7 @@ def __unicode__(self):
143
139
return self .name
144
140
145
141
146
- class PlayerGameRelation (models .Model ):
142
+ class GamePlayerRelation (models .Model ):
147
143
player = models .ForeignKey ('Person' )
148
144
game = models .ForeignKey ('Game' )
149
145
@@ -158,7 +154,7 @@ class PlayerGameRelation(models.Model):
158
154
penalty_shots_miss = models .IntegerField ()
159
155
160
156
161
- class MemberClubRelation (models .Model ):
157
+ class ClubMemberRelation (models .Model ):
162
158
member = models .ForeignKey ('Person' )
163
159
club = models .ForeignKey ('Club' )
164
160
@@ -218,7 +214,8 @@ def set_club_by_team(sender, instance, action, reverse, model, pk_set, **kwargs)
218
214
if action == 'post_add' :
219
215
for pk in pk_set :
220
216
player = model .objects .get (pk = pk )
221
- player .clubs .add (instance .club )
217
+ # player.clubs.add(instance.club)
218
+ ClubMemberRelation .objects .create (member = player , club = instance )
222
219
player .save ()
223
220
224
221
0 commit comments