Django模型类自我表示

时间:2017-12-19 00:24:01

标签: python json django django-models django-rest-framework

有没有方便的方法在Django项目中创建模型类的json自我表示?

说我有这样的模型:

class MyModel(models.Model):
    some_bool_field = models.BooleanField(default=True)
    some_char_field = models.CharField(max_length=20, blank=False)

我需要某种类型的序列化程序,它会返回一个表示类本身模型架构的json对象,如:

{ 
  'model_class': 'MyModel',
  'some_bool_field': 
     {'type': 'BooleanField', 'default': 'true'},
  'some_char_field': 
     {'type': 'CharField', 'max_length': '20', 'blank': 'false' }
}

我正在使用Django-rest-framework进行API创建,所以也许现有的解决方案已埋没在我不知道的框架内?

1 个答案:

答案 0 :(得分:1)

通过API公开数据库表并不好,特别是当某些模型或字段中某些类型的用户不应该具有访问权限时。相反,您可以使用与Django REST Framework(DRF)集成的API-explorer或docs生成器公开API端点中使用的序列化程序。

DRF文档中有一个完整的页面,其中包含有关如何记录API的选项:http://www.django-rest-framework.org/topics/documenting-your-api/。我已经使用过Django REST Swagger,它非常直接且与DRF很好地集成,但该页面中有很多选项。你应该考虑尝试其中一种替代方案。