Django - Объект типа User не является сериализуемым в JSON

Я столкнулся с проблемой POSTing данных (которые имеют объект User) в ModelViewSet. Ошибка: "Объект типа User не является JSON сериализуемым"

data_params = {
        "log_user_id": user,
        "device_name": "sampledevice",
        "log_user_email": "svc.netadc@ads.aexp.com",
        "feature_name": 'Subnet Automation',
    }

    print(data_params, "data_params")
    response = requests.post("<url>/netadc3/arista/ImplementationLogsAristaViewSet/implementationlogsarista/",
    auth=(<username>, <password>), headers={"content-type": "application/json"}, data=json.dumps(data_params), verify=False)

serializers.py:

class ImplementationLogsAristaSerializer(serializers.HyperlinkedModelSerializer):

    log_user_id = UserSerializer(read_only=True)

    class Meta:
        model = ImplementationLogsArista
        fields = ('log_id','device_name', 'log_user_id','log_user_email','feature_name')

views.py:

class ImplementationLogsAristaViewSet(viewsets.ModelViewSet):
    queryset = ImplementationLogsArista.objects.all()
    serializer_class = ImplementationLogsAristaSerializer
    permission_classes = (IsAuthenticated,)
    pagination_class = None

Не уверен, как успешно POST данные с User в ModelViewSet.

Возможно, ваш user - это экземпляр модели Django User, который не является JSON сериализуемым:

data_params = {
        "log_user_id": user, # <-- here
data=json.dumps(data_params) # <-- here 

Вы должны поместить user.pk в data_params:

data_params = {
        "log_user_id": user.pk, # <-- here
Вернуться на верх