Python 德扬戈。获取一个对象中所有字段的值
我正在尝试制作一个JSON,如下所示:Python 德扬戈。获取一个对象中所有字段的值,python,django,django-models,Python,Django,Django Models,我正在尝试制作一个JSON,如下所示: [ { "num_of_followers": 2, "name": "Math 140", "created_by": "aaa" } ] 问题是我真的不明白如何获得一个特定数据库对象的值列表(换句话说,如何获得整行) use.values()queryset方法: @csrf_exempt def create_subject(request, subject): subject
[
{
"num_of_followers": 2,
"name": "Math 140",
"created_by": "aaa"
}
]
问题是我真的不明白如何获得一个特定数据库对象的值列表(换句话说,如何获得整行)
use.values()queryset方法:
@csrf_exempt
def create_subject(request, subject):
subject, created= Subjects.objects.get_or_create(
name=subject,
user=request.user,
created_by=request.user)
return HttpResponse(
simplejson.dumps(
list(models.Subject.objects.filter(id=subject.id).values()),
indent=4
)
)
如果您询问如何对一个对象执行此操作,则应使用:
from django.forms.models import model_to_dict
values = model_to_dict(the_object)
@Marat answer很好,它可以工作,但它是针对
QuerySet
,而不是一个对象的。您正在寻找QuerySet.values()方法吗?是的,没错,我刚刚找到了它,但不幸的是,当我这样做时:row=Subjects.objects.get(id=3).values(),我得到了一个错误:“Subjects”对象没有属性“values”。get()返回一个对象实例,而不是queryset。在本例中,Subjects.objects.filter(id=3)将按预期工作。您可以发布您的答案吗?这样我就可以结束问题了
from django.forms.models import model_to_dict
values = model_to_dict(the_object)