Django остальные рамки получают все связанные внешние ключи - PullRequest
0 голосов
/ 29 апреля 2018

У меня есть две модели организации и отделов. Я хотел бы получить все идентификаторы организации, связанные с отделом, используя DRF, как я могу это сделать

class Organization(models.Model):
    name = models.CharField(max_length=30, unique=True)
    description = models.CharField(max_length=100)

class Departments(models.Model):
    name = models.CharField(max_length=30, unique=True)
    description = models.CharField(max_length=100)
    email= models.CharField(max_length=30, unique=True)
    phone=  models.CharField(max_length=30)
    org_linked=models.ForeignKey(Organization)
    user_linked=models.ForeignKey(User)


class OrganizationAndDepartmentSerializer(serializers.ModelSerializer):
        org_department=facilitesntSerializer(many=True)

        class Meta:
            model = facilites
            fields=('org_department',)


class OrganizationAndDepartmentViewSet(viewsets.ModelViewSet):

    serializer_class =OrganizationAndDepartmentSerializer

1 Ответ

0 голосов
/ 29 апреля 2018

Если вы хотите полное вложенное представление; объявить вложенный сериализатор следующим образом:

class DepartmentSerializer(serializers.ModelSerializer):
    class Meta:
        model = Departments
        fields = ('__all__')

class OrganizationSerializer(serializers.ModelSerializer):
    departments = DepartmentsSerializer(many=True, source='org_linked_set', read_only=True)
    class Meta:
        model = Organization
        fields = (
            'name',
            'description',
            'departments'
        )
...