Объект в json, включая текстовые поля и поля массивов
Итак, мы храним из фронтенда в БД массив из нескольких селектов как String с разделителем труб. Чтобы вызвать его для API представления мы берем все модели в textfield() и сериализуем его в JSON проблема с моделями, которые должны быть итерированы в все еще разделитель труб и я хотел бы иметь его как массив строк, а не как общую строку разделенную трубой
class PublishedInfo(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
information= models.OneToOneField(
Property,
on_delete=models.CASCADE,
primary_key=True,
)
issue_date = models.DateTimeField(auto_now=True)
info = models.TextField()
class Meta:
verbose_name = 'Published Info'
verbose_name_plural = 'Published Info'
def __str__(self):
return self.information.information_name
def user_is_authorized(self, user):
"""Checks if user allowed to edit this property"""
if user.manager:
user_properties = UserProperty.objects.filter(user=user).filter(property=self.information).first()
return user_properties is not None
return self.user == user
тогда информация сериализуется
class PublishedInfoSerializer(serializers.ModelSerializer):
facts = StringJsonField()
class Meta:
model = info
fields = '__all__'
и, наконец, вызывается из представлений
@api_view(['GET', ])
@permission_classes([IsAuthenticated])
def get_published_info(request, property_id, info_type):
selected_published_info = PublishedInfo.objects.filter(information__id=property_id).first()
if info_type == 'json':
serializer = PublishedFactsSerializer(selected_published_facts, many=False)
return Response(serializer.data['info'], status=status.HTTP_200_OK)
теперь ответ json всегда возвращает несколько полей, как это
FieldModel : "data | data | data | data | data"
и я пробовал разные решения для преобразования в представлениях или в сериализаторе, но тогда fieldModel больше не является частью объекта и отображается вне этого объекта
есть ли способ включить его как массив, разделенный запятыми, в сам объект перед json или получить объект json, но с обработкой этих нескольких массивов?