创建Model(7)-使用Model API操作数据

【Task】与【Student】是多对多关系,为Task的member属性赋值

In [62]: t = Task(title='task add student')

In [65]: t.save()

In [66]: t.member.add(Student.objects.get(name='张晓宇'))

In [67]: t.member.add(Student.objects.get(name='邢镇宇'))

In [68]: t.member.all()
Out[68]: <QuerySet [<Student: 1 1517063108 网络162 >, <Student: 2 1517063216 计
应152 >]>

In [69]: t.member.count()
Out[69]: 2

过滤出今年创建的【任务】所涉及到的【学生】

In [71]: Student.objects.filter(task__create_date__year=current_year)
Out[71]: <QuerySet [<Student: 1 1517063108 网络162 >, <Student: 2 1517063216 计
应152 >, <Student: 1 1517063108 网络162 >, <Student: 2 1517063216 计应152 >, <St
udent: 1 1517063108 网络162 >, <Student: 2 1517063216 计应152 >, <Student: 1 151
7063108 网络162 >, <Student: 2 1517063216 计应152 >, <Student: 1 1517063108 网络
162 >, <Student: 2 1517063216 计应152 >, <Student: 1 1517063108 网络162 >, <Stud
ent: 2 1517063216 计应152 >, <Student: 1 1517063108 网络162 >, <Student: 2 15170
63216 计应152 >, <Student: 1 1517063108 网络162 >, <Student: 2 1517063216 计应15
2 >, <Student: 1 1517063108 网络162 >, <Student: 2 1517063216 计应152 >, <Studen
t: 1 1517063108 网络162 >, <Student: 2 1517063216 计应152 >, '...(remaining elem
ents truncated)...']>

删除上面过滤出来的学生

In [72]: s = Student.objects.filter(task__create_date__year=current_year)

In [73]: s.delete()
Out[73]:
(26,
 {u'task_tool.Student': 2,
  u'task_tool.TaskReport': 0,
  u'task_tool.Task_member': 24})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,820评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,056评论 19 139
  • 一. Java基础部分.................................................
    wy_sure阅读 9,289评论 0 11
  • 农历七月初七,晴 现在都说今天是情人节,可事实上中国的上元节才是,七夕只是乞巧节 哈哈,我是不会承认我是吃不到葡萄...
    玲萍阅读 1,553评论 0 0
  • 写下这个标题的时候,我想自己或许会被骂做女权主义,然而心里真是觉得憋了一口气,必须要一吐为快。 事情的起因是这样的...
    flyingfish2007阅读 3,777评论 2 0

友情链接更多精彩内容