Swagger使用DefaultRouter在Django Rest Framework中仅打印字符串数据类型

时间:2019-02-16 15:44:26

标签: python django django-rest-framework django-serializer

我正在努力生成文档(或者只是在整个项目中)。我对Django和Python并不陌生,所以也许我的问题很琐碎。

我在Django Rest Framework项目中有很多定义明确的模型,要使用它们,我正在使用DefaultRouters-该项目现在开始,并且处于开发的早期阶段。但是,对于列出的所有操作,我设法安装了Swagger并运行了它。我的问题是,在所有动作中,几乎所有参数中的Swagger都会打印“字符串”数据类型。例如:

型号

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')

仍然在所有字段中给我字符串。怎么了?

1 个答案:

答案 0 :(得分:1)

没有错。它给你json。例如在python中,要获取实际值,您需要使用json.loads()