Сериализатор не вернет все значения в модели - PullRequest
0 голосов
/ 21 сентября 2019

Когда я создаю запрос на публикацию с помощью json ex.

{
    "title":"test",
    "company" : "test",
    "location" :"test",
    "link" :"http://www.google.com/1"
} 

Получаемый ответ:

{"id":538,"link":"http://www.google.com/1"}

Почему не все мои поля сохраняются в базе данных?

Я изменил fields = '__all__' на fields = ('title', 'company', 'location', 'link'), но получаю ошибку:

TypeErrorв / api / lists / Объект типа TextField не поддерживает сериализацию в формате JSON

from django.db import models

# Model:

class Listing(models.Model):
    title = models.TextField(max_length=100,blank=True),
    company = models.TextField(max_length=50, blank=True),
    location = models.TextField(max_length=50, blank=True),
    link = models.URLField(max_length=250, unique=True)

#------------------------------------------------
from rest_framework import serializers
from listings.models import Listing


#Listing Serializer:

class ListingSerializer(serializers.ModelSerializer):
    class Meta:
        model = Listing
        fields = '__all__'

#------------------------------------------------
from listings.models import Listing
from rest_framework import viewsets, permissions
from .serializers import ListingSerializer

#Listing Viewset:
class ListingViewSet(viewsets.ModelViewSet):
    queryset = Listing.objects.all()
    #.objects.all().delete()
    permissions_classes = [
        permissions.AllowAny
    ]
    serializer_class = ListingSerializer

1 Ответ

0 голосов
/ 21 сентября 2019

Закончилось решение моей проблемы путем создания нового проекта с той же настройкой приложения.Я предполагаю, что была некоторая проблема с начальной миграцией модели приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...