user_serializers.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. from smartfarming.models.user import Role, UserPurview, HomeThemeModel
  2. from rest_framework import serializers
  3. class RoleSerializers(serializers.ModelSerializer):
  4. role_perm_name = serializers.SerializerMethodField()
  5. def get_role_perm_name(self, obj):
  6. per_ids = obj.role_perm
  7. per_ids = per_ids.split(",")
  8. user_per = UserPurview.objects.filter(id__in=[int(i) for i in per_ids]).values("purview_name")
  9. user_per_lst = [i.get("purview_name") for i in user_per]
  10. return ",".join(user_per_lst)
  11. class Meta:
  12. model = Role
  13. fields = ["id", "role_name","role_perm", "role_perm_name", "role_message", "role_status", "mark"]
  14. class UserPurviewSerializers(serializers.ModelSerializer):
  15. class Meta:
  16. model = UserPurview
  17. fields = [
  18. "id",
  19. "parent_perm_id",
  20. "purview_name",
  21. "addtime"
  22. ]
  23. class HomeThemeModelSerializers(serializers.ModelSerializer):
  24. class Meta:
  25. model = HomeThemeModel
  26. fields = "__all__"