麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Python > 正文

django Serializer序列化使用方法詳解

2020-02-15 23:13:34
字體:
來源:轉載
供稿:網友

Serializer序列化器

定義Serializer

1. 定義方法

Django REST framework中的Serializer使用類來定義,須繼承自rest_framework.serializers.Serializer。

例如,我們已有了一個數據庫模型類BookInfo

class BookInfo(models.Model):  btitle = models.CharField(max_length=20, verbose_name='名稱')  bpub_date = models.DateField(verbose_name='發布日期', null=True)  bread = models.IntegerField(default=0, verbose_name='閱讀量')  bcomment = models.IntegerField(default=0, verbose_name='評論量')  image = models.ImageField(upload_to='booktest', verbose_name='圖片', null=True)

我們想為這個模型類提供一個序列化器,可以定義如下:

class BookInfoSerializer(serializers.Serializer):  """圖書數據序列化器"""  id = serializers.IntegerField(label='ID', read_only=True)  btitle = serializers.CharField(label='名稱', max_length=20)  bpub_date = serializers.DateField(label='發布日期', required=False)  bread = serializers.IntegerField(label='閱讀量', required=False)  bcomment = serializers.IntegerField(label='評論量', required=False)  image = serializers.ImageField(label='圖片', required=False)

注意:serializer不是只能為數據庫模型類定義,也可以為非數據庫模型類的數據定義。serializer是獨立于數據庫之外的存在。

2. 字段與選項

常用字段類型:

字段 字段構造方式
BooleanField BooleanField()
NullBooleanField NullBooleanField()
CharField CharField(max_length=None, min_length=None, allow_blank=False, trim_whitespace=True)
EmailField EmailField(max_length=None, min_length=None, allow_blank=False)
RegexField RegexField(regex, max_length=None, min_length=None, allow_blank=False)
SlugField SlugField(maxlength=50, min_length=None, allow_blank=False)
正則字段,驗證正則模式 [a-zA-Z0-9-]+
URLField URLField(max_length=200, min_length=None, allow_blank=False)
UUIDField UUIDField(format='hex_verbose')
format:
1) 'hex_verbose' 如"5ce0e9a5-5ffa-654b-cee0-1238041fb31a"
2) 'hex' 如 "5ce0e9a55ffa654bcee01238041fb31a"
3)'int' - 如: "123456789012312313134124512351145145114"
4)'urn' 如: "urn:uuid:5ce0e9a5-5ffa-654b-cee0-1238041fb31a"
IPAddressField IPAddressField(protocol='both', unpack_ipv4=False, **options)
IntegerField IntegerField(max_value=None, min_value=None)
FloatField FloatField(max_value=None, min_value=None)
DecimalField DecimalField(max_digits, decimal_places, coerce_to_string=None, max_value=None, min_value=None)
max_digits: 最多位數
decimal_palces: 小數點位置
DateTimeField DateTimeField(format=api_settings.DATETIME_FORMAT, input_formats=None)
DateField DateField(format=api_settings.DATE_FORMAT, input_formats=None)
TimeField TimeField(format=api_settings.TIME_FORMAT, input_formats=None)
DurationField DurationField()
ChoiceField ChoiceField(choices)
choices與Django的用法相同
MultipleChoiceField MultipleChoiceField(choices)
FileField FileField(max_length=None, allow_empty_file=False, use_url=UPLOADED_FILES_USE_URL)
ImageField ImageField(max_length=None, allow_empty_file=False, use_url=UPLOADED_FILES_USE_URL)
ListField ListField(child=, min_length=None, max_length=None)
DictField DictField(child=)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 色婷婷一区二区三区 | 中文字幕亚洲一区二区三区 | 欧美人与性禽动交精品 | 国产九色视频在线观看 | 国产青草视频在线观看 | 亚洲人成网站在e线播放 | 免费看黄色一级大片 | 999久久久久久| 亚洲成年人免费网站 | 日本在线播放一区二区三区 | 成人在线视频在线观看 | 在线看免电影网站 | 污视频在线免费播放 | 激情久久一区二区 | 黄色片网页 | 国产papa| 欧美视频国产 | 免费黄色大片在线观看 | 超碰99在线观看 | 国产伦精品一区二区三区 | 在线成人免费视频 | 91短视频在线免费观看 | 欧美视频一级 | 伊人午夜视频 | 久草在线最新 | 欧美一级做一a做片性视频 日韩黄色片免费看 | 国产毛片在线看 | 国产精品毛片va一区二区三区 | 一级性生活免费视频 | 激情综合网俺也去 | 免费一区区三区四区 | 亚洲婷婷日日综合婷婷噜噜噜 | 久久伊人国产精品 | www.91pron| 黄色99视频 | 久久久久av电影 | 成人在线免费小视频 | 黄网站在线免费看 | 欧美熟videos肥婆 | 91真视频 | 西川av在线一区二区三区 |