В Django, что такое функция, которая выводит безопасные данные YAML? - PullRequest
0 голосов
/ 04 февраля 2020

Я использую Python 3,7, Django 2,0. Я пытаюсь написать скрипт, который будет выводить данные YAML. Обычно я просто использую «print»

        print("    street:",street)

, но это не может быть действительными данными YAML, если скаляр содержит символы (например, «:»), которые используются синтаксическим анализатором YAML. Существует ли какая-либо существующая функция Django, которая может выводить безопасный скаляр для расщепления скриптом YAML?

1 Ответ

0 голосов
/ 11 февраля 2020

Использование Django сериализатор

from django.core import serializers
from pprint import pprint
pprint(serializers.serialize('yaml', Street.objects.all(), fields=('unique_id', 'challenge', 'question')))

Это приведет к форматированию данных yaml

- model: journeys.challengequestion
   pk: 2
   fields:
     unique_id: 2ad46c28-1ad2-11e7-a135-0242ac110003
     challenge: 2aa58b38-1ad2-11e7-a135-0242ac110003
     question: abc
- model: journeys.challengequestion
   pk: 3
   fields:
     unique_id: 2ad4a22e-1ad2-11e7-a135-0242ac110003
     challenge: 2aabb2ec-1ad2-11e7-a135-0242ac110003
     question: abc
...