码迷,mamicode.com
首页 > 其他好文 > 详细

Django 学生信息 添加 功能 遇到的问题.

时间:2019-03-05 18:46:07      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:png   排除   null   http   技术   color   exclude   value   作用   

1  添加 班级信息时的问题 (grade为外键)

技术图片

原因是 grade 必需接收 一个 实例, 

而我交是一个 str字符串, 

    if request.method == POST:
         data = {
            name: request.POST.get(name, ‘‘),
            sex: request.POST.get(sex),
            age: request.POST.get(age),
            qq: request.POST.get(qq),
            phone: request.POST.get(qq),
            grade: request.POST.get(grade)  #  XXXX 字符串
            
         }
         student = Student(**data)
         student.save()
修改为:
 grade: Grade.objects.filter(pk = request.POST.get(grade))
返回一个查询集,还是一行
需要接受一个 "实例"对象

加了一个.first()  后 正常...  

下面有常用查询  和返回的类型.

 grade: Grade.objects.filter(pk = request.POST.get(grade)).first()

3.常用查询
通过模型类上的管理器来构造QuerySet。
- 模型类上的管理器是啥?
模型类.objects
- QuerySet 表示数据库中对象的集合。
等同于select 语句。 惰性的
案例:

- first() 获取第一条 返回的是对象
- last() 获取最后一条 返回的也是一个对象
思考:排序规则? 默认通过主键。通过_meta 设置
- get(**kwargs) 根据给定的条件,获取一个对象,如果有多个对象符合,保存

- all() 获取所有记录 返回的是queryset
- filter(**kwargs) 根据给定的条件,获取一个过滤后的queryset,多个条件使用and连接。
- exclude(**kwargs) 跟filter使用方法一致,作用想反,它是排除。
- 多条件的OR连接 用到Q对象,django.db.models.Q
- values(*fields) 返回一个queryset,返回一个字典列表,而不是数据对象。
- only(*fiels) 返回querySet ,对象列表,注意only一定包含主键字段
- defer(*fields) 返回一个QuerySet,作用和only相反
- order_by(*fields) 根据给定的字段来排序 默认是顺序,字段名前加上 ‘-’代表反序
- 切片 和python的列表切片用法相似,不支持负索引,数据量大时不用步长
*** 切片过后,不再支持,附加过滤条件与排序

 

问题 2   性别 : request.POST.get(‘sex‘)

传的值 是on,不是 1或 0 

技术图片

 技术图片

 

技术图片

 

原因  是 checked 值没写...

技术图片

光看老师写了...没加这个字段...

 

 

class StudentDetail(models.Model):
    high = models.SmallIntegerField(verbose_name=身高,default=0)
    weight = models.SmallIntegerField(verbose_name=体重,default=0)
    introduction = models.TextField(verbose_name=简介,default=‘‘)
    num = models.CharField(身份证号码, max_length=20,default=‘‘, unique=True,null=True)  #补加一下.
    student = models.OneToOneField(Student,on_delete=models.CASCADE)

 

 找到 url ...  

技术图片

  app_name : 视图名,不能空格.

技术图片

 

Django 学生信息 添加 功能 遇到的问题.

标签:png   排除   null   http   技术   color   exclude   value   作用   

原文地址:https://www.cnblogs.com/crave/p/10478598.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!