zoukankan      html  css  js  c++  java
  • drf——drf模型层choice字段使用

    choice

    1 模型表:Student表,写接口应该选择继承哪个视图类
    2 推荐使用自动生成路由的方式(继承ViewSetMixin及它的子类)
    3 但是目前来说,先实现功能即可(至于选择哪个,慢慢体会)
    
    4 choice的使用
        -在模型类中使用
        sex = models.SmallIntegerField(choices=((1, ''), (2, ''), (3, '未知')), default=1)
        -在视图类中,在序列化类中
            -get_字段名_dispaly()的方法,该方法获得choice字段对应的数据 (就可以直接显示出 男 女 未知   不然只能显示出数字)

    视图类代码:

    from rest_framework import serializers
    from app01.models import Student
    
    
    class StudentSerializer(serializers.ModelSerializer):
      #重写sex字段的方法 sex
    =serializers.CharField(source='get_sex_display') class Meta: model = Student fields='__all__'
    3.get_字段名_dispaly()方法的实现:
    #django在脚本中运行
    import os
    if __name__ == '__main__':
        os.environ.setdefault("DJANGO_SETTINGS_MODULE", "day01.settings")
        import django
        django.setup()
    
        from app01 import models
    
        student_list=models.Student.objects.all()
        for student in student_list:
            print(student.sex)
            # 只要写了choice,配好关系了,该对象就会有个 get_字段名_display()的方法
            print(student.get_sex_display())
  • 相关阅读:
    js中的this指针(五)
    一个链式调用 setTimeout的例子
    js中的this指针(四)
    js中的this指针(三)
    NOJ 爱过
    Greatest Greatest Common Divisor HD5207
    Greatest Greatest Common Divisor HD5207
    Greatest Greatest Common Divisor HD5207
    Greatest Greatest Common Divisor HD5207
    Four Inages Strateg
  • 原文地址:https://www.cnblogs.com/guojieying/p/13958840.html
Copyright © 2011-2022 走看看