Поле ввода списка в django rest frameowrk просматриваемый api - mongoengine
Я создал serializer
который принимает аргумент списка tags
, но на django-rest-framework
API-интерфейс, кажется, не работает.
Код:
модель
class SocialFeed(Document):
platform = StringField(max_length=20, required=True, choices=('facebook', 'twitter', 'instagram'))
tags = ListField(default=None)
created_at = DateTimeField(default=datetime.now(), required=True)
Serializer
class SocialFeedCreateSerializer(DocumentSerializer):
class Meta:
model = SocialFeed
fields = [
'id',
'platform',
'tags'
]
Посмотреть
class SocialFeedCreateAPIView(CreateAPIView):
queryset = SocialFeed.objects.all()
serializer_class = SocialFeedCreateSerializer
Но на доступном для просмотра API
, Это показывает простое поле ввода для ввода тегов, и я не знаю, в каком формате я должен поместить теги в просматриваемом API
сторона, и я не получаю список тегов вместо строки.
Я пробовал следующие материалы:
#1 - ['social media', 'digital media', 'digital']
#2 - 'social media', 'digital media', 'digital'
#3 - social media, digital media, digital
#4 - "social media", "digital media", "digital"
Но на MongoDb
Когда я выбираю документ, вместо строки отображается список тегов, например:
"tags" : [
"['social media','digital media','digital']"
]
"tags" : [
"'social media','digital media','digital'"
]
"tags" : [
"social media, digital media, digital]"
]
"tags" : [
"\"social media\", \"digital media\", \"digital\""
]
Требуемый выход
"tags" : [
"social media",
"digital media",
'digital"
]
Если кто-то сталкивался с той же проблемой, пожалуйста, направьте меня.
1 ответ
DRF поддерживает только поля Django. Вероятно, вам нужно сделать некоторые поля более подробными в объявлении сериализатора, например, сделать tags
наследовать от serializer.ListField
,