Made improvements in the user serializer
parent
d00c077676
commit
3df7eea9e9
|
@ -28,6 +28,9 @@ class User(WatcherMixin, AbstractUser):
|
|||
class Meta:
|
||||
ordering = ["username"]
|
||||
|
||||
def get_full_name(self):
|
||||
return super().get_full_name() or self.username or self.email
|
||||
|
||||
|
||||
class Role(models.Model):
|
||||
name = models.CharField(max_length=200, null=False, blank=False,
|
||||
|
|
|
@ -6,11 +6,13 @@ from .models import User, Role
|
|||
|
||||
class UserSerializer(serializers.ModelSerializer):
|
||||
projects = serializers.SerializerMethodField('get_projects')
|
||||
full_name = serializers.CharField(source='get_full_name', required=False)
|
||||
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ('id', 'username', 'first_name', 'last_name', 'email', 'color',
|
||||
'description', 'default_language', 'default_timezone', 'is_active',
|
||||
'photo', 'projects')
|
||||
fields = ('id', 'username', 'first_name', 'last_name', 'full_name', 'email',
|
||||
'color', 'description', 'default_language', 'default_timezone',
|
||||
'is_active', 'photo', 'projects')
|
||||
|
||||
def get_projects(self, obj):
|
||||
return [{"id": x.id, "name": x.name} for x in obj.projects.all()]
|
||||
|
|
Loading…
Reference in New Issue