我正在尝试制作一个看起来像这样的JSON:
[
{
"num_of_followers": 2,
"name": "Math 140",
"created_by": "aaa"
}
]
问题是我真的不明白如何获取一个特定数据库对象的值列表(另一个词我怎样才能得到整行)
@csrf_exempt
def create_subject(request, subject):
subject, created= Subjects.objects.get_or_create(
name=subject,
user=request.user,
created_by=request.user)
list = []
columns = [Subjects._meta.get_all_field_names()]
row = ????????
for value in row:
record = dict(zip(columns,value))
list.append(record)
result = simplejson.dumps(list, indent=4)
return HttpResponse(result)
答案 0 :(得分:8)
使用.values()查询集方法:
@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
)
)
答案 1 :(得分:0)
如果您询问如何对一个对象执行此操作,则应使用:
from django.forms.models import model_to_dict
values = model_to_dict(the_object)
@Marat的答案很好,它可以工作,但它仅用于QuerySet
,而不是一个对象。