如何将return最新的对象插入到Django中?

How to return the latest object inserted in Django?

我正在尝试通过其字段 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)

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

有什么想法或建议吗?

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

json.dumps(str(reading.reading))

如果您想 return 一个数字而不是字符串,您也可以省略 str() 调用:

json.dumps(reading.reading)