如何使用 json.dumps 将包含内存模型实例的字典转换为字符串


import json 
dict = {'username': u'Toto', 'staffTitle': u'Mr', 'staffName':     u'Toto', 'company': <Company: Test1>, 'qualifications': [{u'dateObtained': u'2017-11-22', u'qualificationId': 1048,}
convert_to_string = json.dumps (dict)
sa_ = sanitize_data(conver_to_string)
back_to_dict = json.loads(sa_)

def sanitize_data(dirty_data):
clean_data = re.sub('(<0xw*>)|s',"", dirty_data)
return clean_data

所以我正在努力实现一些目标。要使用 json.dumps 将 dict 转换为字符串,请使用我的 made 函数清理和删除non_ascii字符并将其转换回字典并保存。 因为,字典中有一个内存实例("公司":(部分。我遇到错误,转储不起作用。我如何对此进行整理并能够将此字典转换为字符串并处理数据?有什么想法吗?

正如其他人的评论中已经提到的,json.dumps()在python类或Django模型实例上不会开箱即用。如果你想将数据公开给REST API,Django REST框架非常好,它可以让你以可维护的方式只公开你想要的字段。

如果这是内部使用,Django 内置了一个序列化框架:

from django.core import serializers
data = serializers.serialize("json", Company.objects.get(name="test"))

这对于快速序列化来说很简单,但可能不适合通过 REST API 向外部世界公开您的模型,在这种情况下,DRF 是一个更好的选择。

最新更新