@@ -77,19 +77,26 @@ class CustomUser(AbstractUser):
7777
7878 objects = CustomUserManager ()
7979
80+ def get_member_key_skills (self ):
81+ if self .user_type == CustomUser .MEMBER :
82+ return str (self .member .key_skills )
83+ return ""
84+
8085 def __str__ (self ):
8186 return f"User<{ self .id } > - { self .first_name } { self .last_name } "
8287
8388
8489class Member (models .Model ):
85- user = models .ForeignKey (CustomUser , on_delete = models .CASCADE )
90+ user = models .OneToOneField (
91+ CustomUser , on_delete = models .CASCADE , related_name = "member"
92+ )
8693
8794 key_skills = models .CharField (max_length = 255 , blank = True ) # TODO
8895 useful_to_project = models .TextField (blank = True )
8996 speciality = models .CharField (max_length = 255 , blank = True )
9097
9198 def __str__ (self ):
92- return f"Member<{ self .id } > - { self .first_name } { self .last_name } "
99+ return f"Member<{ self .id } > - { self .user . first_name } { self . user .last_name } "
93100
94101
95102class Mentor (models .Model ):
@@ -101,13 +108,15 @@ class Mentor(models.Model):
101108 useful_to_project: CharField instance some text.
102109 """
103110
104- user = models .ForeignKey (CustomUser , on_delete = models .CASCADE , related_name = "mentors" )
111+ user = models .OneToOneField (
112+ CustomUser , on_delete = models .CASCADE , related_name = "mentor"
113+ )
105114
106115 job = models .CharField (max_length = 255 , blank = True )
107116 useful_to_project = models .TextField (blank = True )
108117
109118 def __str__ (self ):
110- return f"Mentor<{ self .id } > - { self .first_name } { self .last_name } "
119+ return f"Mentor<{ self .id } > - { self .user . first_name } { self . user .last_name } "
111120
112121
113122class Expert (models .Model ):
@@ -119,7 +128,9 @@ class Expert(models.Model):
119128 useful_to_project: CharField instance TODO
120129 """
121130
122- user = models .ForeignKey (CustomUser , on_delete = models .CASCADE )
131+ user = models .OneToOneField (
132+ CustomUser , on_delete = models .CASCADE , related_name = "expert"
133+ )
123134
124135 preferred_industries = models .ManyToManyField (
125136 Industry , blank = True , related_name = "experts"
@@ -129,7 +140,7 @@ class Expert(models.Model):
129140 # TODO reviews
130141
131142 def __str__ (self ):
132- return f"Expert<{ self .id } > - { self .first_name } { self .last_name } "
143+ return f"Expert<{ self .id } > - { self .user . first_name } { self . user .last_name } "
133144
134145
135146class Investor (models .Model ):
@@ -142,15 +153,17 @@ class Investor(models.Model):
142153
143154 """
144155
145- user = models .ForeignKey (CustomUser , on_delete = models .CASCADE )
156+ user = models .OneToOneField (
157+ CustomUser , on_delete = models .CASCADE , related_name = "investor"
158+ )
146159
147160 preferred_industries = models .ManyToManyField (
148161 Industry , blank = True , related_name = "investors"
149162 )
150163 interaction_process_description = models .TextField (blank = True )
151164
152165 def __str__ (self ):
153- return f"Investor<{ self .id } > - { self .first_name } { self .last_name } "
166+ return f"Investor<{ self .id } > - { self .user . first_name } { self . user .last_name } "
154167
155168
156169@receiver (post_save , sender = CustomUser )
0 commit comments