roles for user csv

This commit is contained in:
alex 2020-01-30 17:01:27 +03:00
parent e6de2cc4f9
commit 40fa4c543b
2 changed files with 13 additions and 1 deletions

View File

@ -481,6 +481,17 @@ class User(AbstractUser):
return self.last_country.country.name_translated
return None
@property
def locale_roles(self):
"""
Str roles, like "Standard user: at, Moderator: ru" for сsv api method
"""
result_list = []
roles = self.roles.all()
for role in roles:
result_list.append(f'{role.get_role_display()}: {role.country.code}')
return ', '.join(result_list)
class UserRoleQueryset(models.QuerySet):
"""QuerySet for model UserRole."""

View File

@ -155,6 +155,7 @@ class UserCSVSerializer(serializers.ModelSerializer):
created_at = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S", read_only=True, source='date_joined')
last_seen_at = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S", read_only=True, source='last_login')
country = serializers.CharField(allow_blank=True, allow_null=True, source='country_name')
roles_list = serializers.CharField(allow_blank=True, allow_null=True, source='locale_roles')
class Meta:
model = models.User
@ -168,5 +169,5 @@ class UserCSVSerializer(serializers.ModelSerializer):
'created_at',
'last_seen_at',
'last_ip',
'roles',
'roles_list',
]