Django为我们提供了ArrayField:一个PostgreSQL特定的模型字段,允许存储data的列表。
我用它来建模一个Article对象:
authors = ArrayField(models.Charfield)
title = models.CharField
例如,这是数据库中的一个条目:
我想将所有文章导出为JSON :
query_set = Article.objects.all()
articles_json = serialize('json', fields('authors', 'title')
ArrayField“authors”的序列化使用四个反斜杠而不是两个来转义重音字符“é”。常规“标题”字段已正确转义。看看差异:
articles_json = {"title":"Sur le terrain cr\\u00e9tac\\u00e9 de Li\\u00e9ge", "authors": "[\\"Pierre St\\\\u00e9\\", "Jacques Dupont"]"}
客户不理解这一点。为了使它工作,我只是搜索并替换字符串
articles_json = articles_json.replace('\\\\','\\')
我真的不确定这种解决方法。你有没有试过这个问题?你是怎么解决的?