day62日考
考题
"""
今日考题
1.列举你知道的orm数据的增删改查方法
2.表关系如何判定,django orm中如何建立表关系,有什么特点和注意事项
3.请画出完整的django请求生命周期流程图
4.无名、有名分组各是什么意思
5.反向解析是什么,如何使用,
"""
1.列举你所知道的orm数据的增删改查方法
from app01 import models
# 查
user_obj = models.User.object.filter(id=user_id).first()
models.User.obejct.all()
# 增
models.User.object.create(
username='jason_dsb',
password='dbj123',
age=18,
)
方式二:
user_obj = models.User(
username='tank_dsb',
password='123456',
age=18,
)
user_obj.save()
# 改
user_obj = models.User.object.filter(id=user_id).first()
user_obj.username='egon_dsb',
user_obj.password='hecha333',
user_obj.age =70,
user_obj.save()
models.User.object.filter(id=user_id).update(
username='alex_dsb',
password='3714dsb',
age=88,
)
# 删
models.User.object.filter(id=user_id).delete()
2.表关系如何判定,django orm中如何建立表关系,有什么特点和注意事项。
表之间的关系分别有:一对一,一对多,多对多,没有关系。
表之间的关系判定应该站在两者的角度分别分析
# 一对多关系,外键在多的一方
publish = models.ForeignKey(to='Publish')
# 多对多关系,外键可以键在任意一方,推荐键在查询频率比较高的一方
authors = models.ManyToManyFiled(to='Author')
# 一对一关系,外键可以键在任意一方,推荐键在查询频率较高的一方
author_detail = models.OneToOneFiled(to='AuthorDetail')
3.请画出完整的django请求生命周期流程图
图 django请求生命周期图
4.无名、有名分组各是什么意思
无名分组就是将括号内正则表达式匹配到的内容当作位置参数传递给后面的视图函数
url(r'^test/(d+)/',views.test)
有名分组就是将括号内正则表达式匹配到的内容当作关键字参数传递给后面的视图函数
url(r'^testadd/(?P<year>d+)',views.testadd)
注意:
无名分组和有名分组不能混用
但是同一个分组可以使用N多次
5.反向解析是什么,如何使用,
通过一些方法得到一个结果 该结果可以直接访问对应的url触发视图函数
前端反向解析<a href="{% url 'ooo' %}">111</a>
后端反向解析reverse('ooo')