django 模型序列化

使用 django 实现 restful api 接口的时候会经常遇到从数据库中检索出来的模型需要转换到 json 对象的情况。

写了一个类装饰器(json_encoder)做辅助处理,使用方法:

# models.py
@json_encoder('id', 'name', 'age')
class User(Model):
  name = Model.CharField(max_length=44)
  age = Model.IntegerField()


# views.py
users = User.objects.all()
return HttpResponse(json.dumps([user.to_json() for user in users])

Github源码