Swagger 使用 DefaultRouter 在 Django Rest Framework 中仅打印字符串数据类型
Swagger prints only string datatype in Django Rest Framework using DefaultRouter
我正在努力生成文档(或者简单地说 - 整个项目)。我刚接触 Django 和 Python,所以也许我的问题很微不足道。
我在 Django Rest Framework 项目中有一堆定义良好的模型,为了与它们一起工作,我正在使用 DefaultRouters - 该项目现在开始并且处于开发的早期阶段。但是,为了列出所有操作,我设法安装了 Swagger 并 运行 它。我的问题是,Swagger 在所有操作中,几乎在所有参数中都打印 "string" 数据类型。例如:
型号
class UseCaseVer(models.Model):
id = models.IntegerField(primary_key=True),
version_key = models.CharField(max_length=10,null=False,unique=True)
approv_date = models.DateField(default=timezone.now,null=False)
description = models.TextField()
class Meta:
abstract = False
序列化器:
class UseCaseVerSerializer(serializers.ModelSerializer):
date_joined = serializers.DateTimeField()
class Meta(object):
model = UseCaseVer
fields = ('id', 'version_key', 'approv_date', 'description')
仍然在所有字段中给我字符串。怎么了?
没有错。它给你 json。例如在 python 中,要获得实际值,您需要使用 json.loads()
我正在努力生成文档(或者简单地说 - 整个项目)。我刚接触 Django 和 Python,所以也许我的问题很微不足道。
我在 Django Rest Framework 项目中有一堆定义良好的模型,为了与它们一起工作,我正在使用 DefaultRouters - 该项目现在开始并且处于开发的早期阶段。但是,为了列出所有操作,我设法安装了 Swagger 并 运行 它。我的问题是,Swagger 在所有操作中,几乎在所有参数中都打印 "string" 数据类型。例如:
型号
class UseCaseVer(models.Model):
id = models.IntegerField(primary_key=True),
version_key = models.CharField(max_length=10,null=False,unique=True)
approv_date = models.DateField(default=timezone.now,null=False)
description = models.TextField()
class Meta:
abstract = False
序列化器:
class UseCaseVerSerializer(serializers.ModelSerializer):
date_joined = serializers.DateTimeField()
class Meta(object):
model = UseCaseVer
fields = ('id', 'version_key', 'approv_date', 'description')
仍然在所有字段中给我字符串。怎么了?
没有错。它给你 json。例如在 python 中,要获得实际值,您需要使用 json.loads()