Python/Django中模型/对象实例的字符串字典表示法?

Python/Django中模型/对象实例的字符串字典表示法?,python,django,dictionary,model,representation,Python,Django,Dictionary,Model,Representation,我觉得这是一个非常简单的问题,但我对Python还是新手,同时我也在学习Django 我的目标是在Django中创建一个模型实例的字符串字典表示,即它是字典格式的,但是是字符串。我怎么能这么做?是否有一个可以直接从对象实例调用的内置函数,或者我必须定义一个 更新: 我想在模型定义本身中调用这个功能,也就是说,我正在实现一个需要这个功能的类方法或函数。我正在考虑一个功能,它的行为类似于python的内置函数locals(),但应该只返回模型的属性 我还想补充一点,我将在尚未保存到数据库的模型实例上

我觉得这是一个非常简单的问题,但我对Python还是新手,同时我也在学习Django

我的目标是在Django中创建一个模型实例的字符串字典表示,即它是字典格式的,但是是字符串。我怎么能这么做?是否有一个可以直接从对象实例调用的内置函数,或者我必须定义一个

更新:

我想在模型定义本身中调用这个功能,也就是说,我正在实现一个需要这个功能的类方法或函数。我正在考虑一个功能,它的行为类似于python的内置函数
locals()
,但应该只返回模型的属性

我还想补充一点,我将在尚未保存到数据库的模型实例上调用此功能。所以本质上,我将处理一个模型的实例,该实例表示数据库中尚未存在的记录。所以任何使用
管理器或QuerySet的函数,我想都不是我要找的原因

例如:

class Person(models.Model):
     name = ...
     age =  ...

     def func_doing_something(self):
          #get the string dictionary representation of this model's instance
          #do something to it
          #return something
谢谢大家

使用p=Person(name='john',age=10).values()

请看这里:

要将其转换为字符串,请使用:

s = str(p[0])

您可以将对象序列化为json格式,例如使用django内置 这使您可以非常轻松地进行反序列化。

我从中找到了我正在寻找的解决方案

一些Django对象
obj

[(field.name, getattr(obj,field.name)) for field in obj._meta.fields]

然后就结果打电话给dict()

谢谢你的快速回复,但这只是我想说的第一部分。我想把字典存储到数据库中,所以我想我需要先把它转换成字符串。还有别的办法吗?如何将字典表示形式转换为字符串?非常感谢你!为什么要将字符串表示形式存储在数据库中?这毫无意义。假设我想用该字符串作为参数调用另一个函数,我需要它是字符串,因为该函数将它作为字符串处理。:)哦,那很容易。非常感谢你!我现在觉得很傻。哈哈哈,真的,嗨,很抱歉我不能接受你的回答。我刚刚意识到这不是我要解决的问题的解决方案。基本上,我将一次处理一个模型的单个实例,而不是q QuerySet,因此它不起作用。我想在模型定义本身中获取模型实例(即对象)的字符串字典表示形式。在我的例子中,在将模型保存到数据库之前,我将一次处理一个模型实例。非常感谢。