Skip to content

Commit 113d1a2

Browse files
authored
Merge pull request #92 from PROCOLLAB-github/dev
Removed preferred_industries from Member model, fixed CustomListField
2 parents f56d4b4 + b4a44f0 commit 113d1a2

3 files changed

Lines changed: 43 additions & 18 deletions

File tree

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Generated by Django 4.1.3 on 2022-12-30 17:44
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
("users", "0025_mentor_preferred_industries"),
10+
]
11+
12+
operations = [
13+
migrations.RemoveField(
14+
model_name="member",
15+
name="preferred_industries",
16+
),
17+
migrations.AlterField(
18+
model_name="expert",
19+
name="preferred_industries",
20+
field=models.CharField(blank=True, max_length=4096, null=True),
21+
),
22+
migrations.AlterField(
23+
model_name="investor",
24+
name="preferred_industries",
25+
field=models.CharField(blank=True, max_length=4096, null=True),
26+
),
27+
migrations.AlterField(
28+
model_name="mentor",
29+
name="preferred_industries",
30+
field=models.CharField(blank=True, max_length=4096, null=True),
31+
),
32+
]

users/models.py

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
from django.db.models.signals import post_save
44
from django.dispatch import receiver
55

6-
from industries.models import Industry
76
from users.helpers import (
87
ADMIN,
98
EXPERT,
@@ -162,17 +161,13 @@ class Member(models.Model):
162161
user: ForeignKey instance of the CustomUser model.
163162
useful_to_project: TextField instance indicates actions useful
164163
for the development and maintenance of the project.
165-
preferred_industries: ManyToManyField indicating user industries preferred for work.
166164
"""
167165

168166
user = models.OneToOneField(
169167
CustomUser, on_delete=models.CASCADE, related_name="member"
170168
)
171169

172170
useful_to_project = models.TextField(blank=True)
173-
preferred_industries = models.ManyToManyField(
174-
Industry, blank=True, related_name="members"
175-
)
176171

177172
def __str__(self):
178173
return f"Member<{self.id}> - {self.user.first_name} {self.user.last_name}"
@@ -186,15 +181,15 @@ class Mentor(AbstractUserWithRole):
186181
187182
Attributes:
188183
user: ForeignKey instance of the CustomUser model.
189-
preferred_industries: ManyToManyField indicating user industries preferred for work.
184+
preferred_industries: CharField indicating user industries preferred for work.
190185
useful_to_project: TextField instance indicates actions useful
191186
for the development and maintenance of the project.
192187
"""
193188

194189
user = models.OneToOneField(
195190
CustomUser, on_delete=models.CASCADE, related_name="mentor"
196191
)
197-
preferred_industries = models.CharField(max_length=4096, blank=True)
192+
preferred_industries = models.CharField(max_length=4096, null=True, blank=True)
198193
useful_to_project = models.TextField(blank=True)
199194

200195
def __str__(self):
@@ -217,10 +212,7 @@ class Expert(AbstractUserWithRole):
217212
CustomUser, on_delete=models.CASCADE, related_name="expert"
218213
)
219214

220-
# preferred_industries = models.ManyToManyField(
221-
# Industry, blank=True, related_name="experts"
222-
# )
223-
preferred_industries = models.CharField(max_length=4096, blank=True)
215+
preferred_industries = models.CharField(max_length=4096, null=True, blank=True)
224216
useful_to_project = models.TextField(blank=True)
225217

226218
# TODO reviews
@@ -244,11 +236,7 @@ class Investor(AbstractUserWithRole):
244236
user = models.OneToOneField(
245237
CustomUser, on_delete=models.CASCADE, related_name="investor"
246238
)
247-
248-
# preferred_industries = models.ManyToManyField(
249-
# Industry, blank=True, related_name="investors"
250-
# )
251-
preferred_industries = models.CharField(max_length=4096, blank=True)
239+
preferred_industries = models.CharField(max_length=4096, null=True, blank=True)
252240
interaction_process_description = models.TextField(blank=True)
253241

254242
def __str__(self):

users/serializers.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@ class CustomListField(serializers.ListField):
2424
def to_representation(self, data):
2525
if type(data) == list:
2626
return data
27-
return [i.replace("'", "") for i in data.strip("][").split(", ")]
27+
return [
28+
i.replace("'", "") for i in data.strip("][").split(", ") if i.replace("'", "")
29+
]
2830

2931

3032
class MemberSerializer(serializers.ModelSerializer):
@@ -36,6 +38,10 @@ class Meta:
3638

3739

3840
class MentorSerializer(serializers.ModelSerializer):
41+
preferred_industries = CustomListField(
42+
child=serializers.CharField(max_length=255),
43+
)
44+
3945
class Meta:
4046
model = Mentor
4147
fields = [
@@ -59,7 +65,6 @@ class Meta:
5965

6066

6167
class InvestorSerializer(serializers.ModelSerializer):
62-
6368
preferred_industries = CustomListField(child=serializers.CharField(max_length=255))
6469

6570
class Meta:

0 commit comments

Comments
 (0)