Django。获取一个对象
问题描述:
我试图做一个JSON,将这个样子的所有字段的值:Django。获取一个对象
[
{
"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)
答
使用.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
)
)
你在找查询集.values()方法? https://docs.djangoproject.com/en/dev/ref/models/querysets/#django.db.models.query.QuerySet.values – Marat
是的,没错,我只是发现了它,但不幸的是,当我这样做:行= Subjects.objects.get(ID = 3).values(),我发现了错误:“主体”对象没有属性“价值” – Vor
获得()返回一个对象实例,而不是查询集。在这个例子中,Subjects.objects.filter(ID = 3)将工作打算 – Marat