Я пытаюсь добавить теги в мою модель с помощью taggit и taggit serializer.Я сделал мой API в рамках отдыха.Я следовал инструкции (https://github.com/glemmaPaul/django-taggit-serializer), но это все еще проблема:
"tags": ["Недопустимый список json. Список тегов, представленный в строковой форме, должен быть действительным json."]
/ setting.py
INSTALLED_APPS = [
[...]
'rest_framework',
'taggit',
'taggit_serializer',
]
/ models.py
tags = TaggableManager(blank = True)
/ serializer.py
class JobSerializer(TaggitSerializer,serializers.HyperlinkedModelSerializer):
# tag serializer
tags = TagListSerializerField()
Тамотмечает, что изменилось в view.py.
спасибо @ykh за помощь в решении этой проблемы, но возникает новая ситуация с ошибкой:
, когда вы хотите инициализировать значение:
hao,free
результат будет таким:
"tags": [
"hao",
"free"
],
Но , когда я собираюсь поместить обновления в это значение: он автоматически показывает файл Json в структуре отдыха:
и если вы поместите данные в ваш API, результат будет:
Проблема заключается в том, что каждый раз, когда я пытаюсь изменить экземпляр, который включал «тег» в структуре остатка, скобки и разрывы строк автоматически добавлялись в поле «тег», например, tРезультат изображения показывает
Обновление: Похоже, что я решил эту проблему, решение переопределяет функцию создания в сериализаторе:
с использованием django-taggit-serializer.и
def create(self, validated_data):
tags = validated_data.pop('tags')
instance = super(JobSerializer, self).create(validated_data)
instance.tags.set(*tags)
return instance