drf——drf模型层choice字段使用

摘要:
choice1模型表:Student表,写接口应该选择继承哪个视图类2推荐使用自动生成路由的方式(继承ViewSetMixin及它的子类)3但是目前来说,先实现功能即可(至于选择哪个,慢慢体会)4choice的使用-在模型类中使用sex=models.SmallIntegerField(choices=((1,'男'),(2,'女'),(3,'未知')),default=1)-在视图类中,在序列化

choice

1模型表:Student表,写接口应该选择继承哪个视图类
2推荐使用自动生成路由的方式(继承ViewSetMixin及它的子类)
3但是目前来说,先实现功能即可(至于选择哪个,慢慢体会)

4choice的使用
    -在模型类中使用
    sex = models.SmallIntegerField(choices=((1, ''), (2, ''), (3, '未知')), default=1)
    -在视图类中,在序列化类中
        -get_字段名_dispaly()的方法,该方法获得choice字段对应的数据 (就可以直接显示出 男 女 未知   不然只能显示出数字)

视图类代码:

from rest_framework importserializers
from app01.models importStudent


classStudentSerializer(serializers.ModelSerializer):
#重写sex字段的方法 sex
=serializers.CharField(source='get_sex_display') classMeta: model =Student fields='__all__'
3.get_字段名_dispaly()方法的实现:
#django在脚本中运行
importos
if __name__ == '__main__':
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "day01.settings")
    importdjango
    django.setup()

    from app01 importmodels

    student_list=models.Student.objects.all()
    for student instudent_list:
        print(student.sex)
        #只要写了choice,配好关系了,该对象就会有个 get_字段名_display()的方法
        print(student.get_sex_display())

免责声明:文章转载自《drf——drf模型层choice字段使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Oh my God, Swagger API文档竟然可以这样写?《RV1126 —— 配置adc并读取adc通道上传感器数值》下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

如何查看别人公众号的粉丝量

想要查看查看别人公众号的粉丝数量,这个是管理员才能做到的;但可以通过其它途径,查询到一部分分公众号的粉丝量信息。...

uniApp之 顶部选项卡

为了在uniapp插件中创建类似于信息应用程序模板的功能,使用了官方的组件刷。起初,它无法滚动。后来,我看了一下官方网站,说有必要添加“滚动视图”标签,以记录第一次使用uniapp的应用程序。首先,在顶部制作一个选项卡,因为我只有两个项目,所以我将它们直接写入视图标记中{item.label}}然后编写以下内容。单击和滑动可以切换选项卡,所选样式:curre...

es6 解构赋值

functiondemo(){return{"name":"张三","age":21}}var{name,age}=demo();console.log;//结果:张三console.log;//结果:21三、定义函数参数functiondemo{console.log;console.log;console.log;}demo;四、函数参数的默认值传统的参...

C#Win32API编程之PostMessage

本文以C#调用Win32API函数PostMessage完成指定表单的后台鼠标和键盘模拟为例,大致解释了C#调用非托管代码和Window的消息处理机制。我们可以将PostMessage用于函数。成功与否在很大程度上取决于我们传达的信息是否真实。消息表明消息是什么。请原谅我先讲故事。我希望先解释一下PostMessage函数。这是一个异步操作,如下图所示:调用...

flutter vscode+第三方安卓模拟器

1.首先打开夜曲模拟器2.Win+R,选择cmd,在第三方模拟器安装目录的bin目录下输入夜曲模拟器,然后运行命令:nox_Adb.execonnect127.0.0.1:620013。打开项目终端的vscode并建立连接:adbconnect127.00.1:62001(夜神模拟器的默认端口)4。查看连接:adbdevices或不使用第三方模拟器:1.打开...

ios 苹果和百度地图的相关使用

同时由于苹果使用的是高德,不会像谷歌地图一样在国内乌龟一样的访问速度,确实做一些地图相关的东西,非常有吸引力。只是实现了显示一个百度地图的view。百度地图使用的是Objective-C++,这意味这必须要有一个.mm文件。...