Skip to content

Commit 30ce81a

Browse files
authored
Merge pull request #83 from PROCOLLAB-github/dev
made expert.preferred_industries and investor.preferred_industries a list
2 parents e7fce8a + c1b0538 commit 30ce81a

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

users/serializers.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from django.forms.models import model_to_dict
22
from rest_framework import serializers
33

4+
from industries.models import Industry
45
from .models import CustomUser, Expert, Investor, Member, Mentor, UserAchievement
56

67

@@ -37,6 +38,11 @@ class Meta:
3738

3839

3940
class ExpertSerializer(serializers.ModelSerializer):
41+
42+
preferred_industries = serializers.ListSerializer(
43+
child=serializers.PrimaryKeyRelatedField(queryset=Industry.objects.all())
44+
)
45+
4046
class Meta:
4147
model = Expert
4248
fields = [
@@ -46,6 +52,11 @@ class Meta:
4652

4753

4854
class InvestorSerializer(serializers.ModelSerializer):
55+
56+
preferred_industries = serializers.ListSerializer(
57+
child=serializers.PrimaryKeyRelatedField(queryset=Industry.objects.all())
58+
)
59+
4960
class Meta:
5061
model = Investor
5162
fields = [
@@ -96,11 +107,17 @@ def update(self, instance, validated_data):
96107
instance.investor.__dict__.update(
97108
validated_data.get("investor", model_to_dict(instance.investor))
98109
)
110+
instance.investor.preferred_industries.set(
111+
validated_data.get("investor", {}).get("preferred_industries", [])
112+
)
99113
instance.investor.save()
100114
elif instance.user_type == CustomUser.EXPERT:
101115
instance.expert.__dict__.update(
102116
validated_data.get("expert", model_to_dict(instance.expert))
103117
)
118+
instance.expert.preferred_industries.set(
119+
validated_data.get("expert", {}).get("preferred_industries", [])
120+
)
104121
instance.expert.save()
105122
elif instance.user_type == CustomUser.MENTOR:
106123
instance.mentor.__dict__.update(

0 commit comments

Comments
 (0)