如何返回插入Django的最新对象?

时间:2015-05-13 12:44:08

标签: python django django-models

我正在尝试通过其Reading字段从模型reading中检索最新插入的对象。

我这样想:

@csrf_exempt
def get_config(request):
    if request.method == 'POST':
        reading = Reading.objects.latest('reading')
        print reading
        #reading = 10    

        return HttpResponse(json.dumps(str(reading)), content_type="application/json")
    return render(request, 'web/home.html')

这是我的模特:

from django.db import models
...
class Reading(models.Model):
    resource = models.ForeignKey(Resource)
    reading = models.IntegerField()
    date = models.DateTimeField('date', auto_now_add=True)

    def __unicode__(self):
        return u'%s | %s' % (self.resource.urn, self.reading)

问题在于,无论我在__unicode__中要求返回什么,我都会收到views返回。

有任何想法或建议吗?

1 个答案:

答案 0 :(得分:1)

如果要输出实例的字段值,请将此字段传递给dumps()而不是整个对象:

json.dumps(str(reading.reading))

如果要返回数字而不是字符串,也可以省略str()调用:

json.dumps(reading.reading)