麻烦老师讲解一下,related_name的作用与用法
视频里老师对related_name只是一笔带过,我还是模模糊糊的,不知道它的具体用法和作用,麻烦老师详细讲解一下
20
收起
正在回答
1回答
同学,你好。
related_name:Django中默认每个主表的对象都有一个是外键的属性,可以通过它来查询到所有属于主表的子表的信息。不写也是可以的。
这个属性的名称默认是以子表的名称小写加上_set()来表示(例:表名为student,则此时为student_set),若设置了related_name,则可以使用related_name的值来代替表名
class Person(models.Model): name = models.CharField(verbose_name='作者姓名', unique=True, max_length=10) age = models.IntegerField(verbose_name='作者年龄') class Book(models.Model): person = models.ForeignKey(Person, on_delete=models.CASCADE) title = models.CharField(verbose_name='书籍名称', max_length=10) pubtime = models.DateField(verbose_name='出版时间')
查询person关联的所有书籍对象:
book = person.book_set.all()
若定义了related_name为person_books,则可以使用person.person_books.all()
如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~
3.从网页搭建入门Python Web
- 参与学习 人
- 提交作业 218 份
- 解答问题 3562 个
本阶段带你用Python开发一个网站,学习主流框架Django+Flask是Python Web开发的第一步,在基础知识上实现积分商城的项目开发,体验真实的项目开发流程,提高解决编程问题和效率的能力。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星