首页 > 其他 > 详细

Django中的CharField 和 FileField 主要讲FileField

时间:2020-03-30 00:15:46      阅读:68      评论:0      收藏:0      [点我收藏+]
# 这是django下的一张表
from django.db import models
class Auction(models.Model):
   
    # cover = models.CharField(verbose_name=封面, max_length=128,null=True, blank=True)
    cover = models.FileField(verbose_name=封面, max_length=128,null=True, blank=True)

from rest_framework import serializers
class AuctionModelForm(serializers.Serializer): 

  class Meta:
    model
= models.Auction
   exclude
= [‘cover‘]

 

我在自己写项目的时候,遇到了一个问题,就是将原来的CharField 改成 FileField的时候 他的api会出错

 

上面代码我们访问接口的时候

技术分享图片

 

 改 序列化的 类

方式一

from rest_framework import serializers
class AuctionModelForm(serializers.Serializer): 
      cover=serializers.CharField()
  class Meta: 
    model = models.Auction 
   exclude = [cover] 

技术分享图片

 

 方式二

from rest_framework import serializers
class AuctionModelForm(serializers.Serializer): 
    ct = serializers.SerializerMethodField()
  class Meta: 
    model = models.Auction 
  exclude = [cover] 

    def get_ct(self,obj):
# return obj.cover.path 带有拼接的url地址 不是我们想要的
return obj.cover.name

结果

技术分享图片

 

Django中的CharField 和 FileField 主要讲FileField

原文:https://www.cnblogs.com/a438842265/p/12595529.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!