Django中的CharField 和 FileField 主要講FileField


# 這是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

結果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM