DjangoRestFramework сериализаторы
django, drf, serializers, apiview
Приветствую уважаемые коллеги.
Нужен совет как поступить в следующей ситуации:
есть некая кастомная модель пользователя наследуемая от AbstractUser.
есть приложение в которой есть следующий комплект моделей:
class Client(models.Model): client_name=... client_email=... client_city=... ..... class ProjectLanguage(models.Model): projectlanguage_name=... class Project(models.Model): name=models.CharField... client = models.ForeignKey(Client,...) tester_lead = models.ForeignKey(User,...related_name="project_tester_lead"...) tester_team = models.models.ManyToManyField(User, related_name="project_tester_team"...) project_language = models.ForeignKey(ProjectLanguage, related_name="project_language",....)
я сериализую модель пользователя:
class UserSerializerd(serializers.ModelSerializer): project_tester_lead = serializers.StringRelatedField(many=True) class Meta: model= User fields = ['id', 'username', 'last_name', 'first_name', 'project_tester_lead']
вот представление для данного сериализатора:
class UserListd(APIView): permission_classes = [permissions.AllowAny] def get(self, request): usr = User.objects.all() ser = UserSerializerd(usr, many=True) return Response(ser.data)
результат:
[ { "id": 1, "username": "admin", "last_name": "", "first_name": "", "project_tester_lead": [] }, { "id": 2, "username": "tester1", "last_name": "", "first_name": "", "project_tester_lead": [ "Project1", "Project3" ] }, { "id": 3, "username": "tester2", "last_name": "", "first_name": "", "project_tester_lead": [ "Project2" ] } ]
как мы видим тянется список из модели Project
теперь задача стоит добавить чтобы сериализатор тянул остальные данные из модели Project связанные с данным рroject-ом
подскажите как или в каком направлении копать?
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
- Akiv Doros
- Nov. 12, 2024, 1:58 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:50points,
- Rating points-4
- molni99
- Oct. 26, 2024, 11:37 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:80points,
- Rating points4
- molni99
- Oct. 26, 2024, 11:29 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:20points,
- Rating points-10
как бы одно решение я нашел, это Вложенные отношения, НО данный метод предусматривает создания сериализаторов для каждой модели, мен кажется это очень долго и длинно