Я пытаюсь добавить теги к своим сообщениям. Это работает нормально, но всякий раз, когда я делаю сериализатор класса (для возврата JSON данных), возникает ошибка, показанная ниже:
{
"tags": [
"Invalid json list. A tag list submitted in string form must be valid json."
]
}
Я использую пакеты django-taggit
и django-taggit-serializer
.
мое установленное приложение в settings.py
INSTALLED_APPS = [
'rest_framework',
'rest_framework_gis',
'taggit',
'taggit_serializer'
]
my models.py
class Post(models.Model):
title= models.CharField(max_length=50)
description = models.TextField()
location = models.PointField(srid=4326)
tags = TaggableManager()
my serializers.py
class PostCreateSerializer(TaggitSerializer,GeoFeatureModelSerializer):
tags = TagListSerializerField()
class Meta:
model = Post
geo_field = 'location'
fields = [
'title','description','tags'
]
my views.py
class PostCreateApiView(CreateAPIView):
queryset = Post.objects.all()
serializer_class = PostCreateSerializer
message = 'you have not account'
permission_classes = [IsAuthenticated]
def perform_create(self,serializer):
serializer.save(user=self.request.user)
Я видел несколько похожих вопросов, но они не работали для моего случая. Я использую Geo django с базой данных PostGIS. Данные, которые я пытаюсь добавить:
{
"title": "my title",
"description": "nice desc",
"city": "city name",
"tags": tag1 tag2 tag3,
"location": POINT(-123.0208 44.0464)
}