如何通过长尾关键词优化多对一关系的产品描述?

2026-04-18 00:302阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计829个文字,预计阅读时间需要4分钟。

如何通过长尾关键词优化多对一关系的产品描述?

多对一关系+生活中的多对一关系:班级与班主任,班级与年级关系。一个班主任可以带很多班级,但每个班级只有一个班主任。+from django.db import models+

多对一关系 生活中的多对一关系:班主任,班级关系。一个班主任可以带很多班级,但是每个班级只能有一个班主任

from django.db import models # id name gender 定义老师的模型类 class Teacher(models.Model): name = models.CharField(max_length=30,verbose_name="老师姓名") gender = models.CharField(max_length=10,verbose_name="老师性别") class Meta: db_table = "teachers" def __str__(self): return self.name # id name gender score teacher_id class Student(models.Model): name = models.CharField(max_length=20,verbose_name="学生姓名") gender = models.CharField(max_length=10,verbose_name="学生性别") score = models.IntegerField(verbose_name="学生分数") # to:后边写所关联的模型类 # on_delete=models.CASCADE:主表中数据删除,从表也删除 # 外键关联的是整个模型类,不是单独的某一个对象 # 但是通过模型类会产生一个相关联的字段 字段名_id teacher = models.ForeignKey(to=Teacher,on_delete=models.CASCADE,verbose_name="所属老师") class Meta: db_table = "students" def __str__(self): return self.name 多对一关系的增删改操作

添加老师语法: 模型类.objects.create() Teacher.objects.create(name="王老师",gender="女") 删除老师语法: 模型类.objects.get(条件).delete() # 删除id为2的老师 Teacher.objects.get(id=2).delete() # (3, {'myapp.Student': 2, 'myapp.Teacher': 1}) # 3代表一共删除的数据个数 Student删除3条 Teacher删除1 修改老师语法: 模型类.objects.filter(条件).update() # 修改id为3的老师性别为女 Teacher.objects.filter(id=3).update(gender="女")

以上创建了两条老师数据 由于我们设置外键关联可以为空null=True,所以此时在班级表创建时,可以直接保存,不需要提供老师数据

添加学生语法: 模型类.objects.create() 通过外键_id的形式来添加 Student.objects.create(name="李四",gender="男",score=80,teacher_id=3) 直接给外键赋值一个老师对象 t1 = Teacher.objects.create(name="李老师",gender="男") Student.objects.create(name="李四",gender="男",score=80,teacher=t1) 删除学生语法: 模型类.objects.get(条件).delete() Student.objects.get(id=1).delete() 修改学生语法: 模型类.objects.filter(条件).update(字段1,字段2...) Student.objects.get(id=1).update(name="张三")

注意:要记得删除之后要重新获取一次数据,否则查看到的结果中还是之前获取到的有老师的班级数据

多对一的正向查询

将老师分配个班级之后,由于班级表关联了老师字段,我们可以通过班级找到对应老师 虽然老师表中没有关联班级字段,但是也可以通过老师找到他所带的班级,这种查询方式也叫作关联查询

# 查询id为2的学生的老师姓名 --找到id为2的学生 stu = Student.objects.get(id=2) --找到stu对应的老师 stu.teacher.name stu.外键.name 对一的反向查询

通过模型类名称后追加一个_set,来实现反向查询

如何通过长尾关键词优化多对一关系的产品描述?

反向查询:通过django的内置属性来进行查询 模型类(模型类小写)_set()可以反向查询老师名下的所有学生, # 查询id为1的老师的所有学生 --先找到id为1的老师 tea = Teacher.objects.get(id=1) --查询tea老师名下的所有学生 老师对象.模型类_set.all() tea.student_set.all()

标签:班主任

本文共计829个文字,预计阅读时间需要4分钟。

如何通过长尾关键词优化多对一关系的产品描述?

多对一关系+生活中的多对一关系:班级与班主任,班级与年级关系。一个班主任可以带很多班级,但每个班级只有一个班主任。+from django.db import models+

多对一关系 生活中的多对一关系:班主任,班级关系。一个班主任可以带很多班级,但是每个班级只能有一个班主任

from django.db import models # id name gender 定义老师的模型类 class Teacher(models.Model): name = models.CharField(max_length=30,verbose_name="老师姓名") gender = models.CharField(max_length=10,verbose_name="老师性别") class Meta: db_table = "teachers" def __str__(self): return self.name # id name gender score teacher_id class Student(models.Model): name = models.CharField(max_length=20,verbose_name="学生姓名") gender = models.CharField(max_length=10,verbose_name="学生性别") score = models.IntegerField(verbose_name="学生分数") # to:后边写所关联的模型类 # on_delete=models.CASCADE:主表中数据删除,从表也删除 # 外键关联的是整个模型类,不是单独的某一个对象 # 但是通过模型类会产生一个相关联的字段 字段名_id teacher = models.ForeignKey(to=Teacher,on_delete=models.CASCADE,verbose_name="所属老师") class Meta: db_table = "students" def __str__(self): return self.name 多对一关系的增删改操作

添加老师语法: 模型类.objects.create() Teacher.objects.create(name="王老师",gender="女") 删除老师语法: 模型类.objects.get(条件).delete() # 删除id为2的老师 Teacher.objects.get(id=2).delete() # (3, {'myapp.Student': 2, 'myapp.Teacher': 1}) # 3代表一共删除的数据个数 Student删除3条 Teacher删除1 修改老师语法: 模型类.objects.filter(条件).update() # 修改id为3的老师性别为女 Teacher.objects.filter(id=3).update(gender="女")

以上创建了两条老师数据 由于我们设置外键关联可以为空null=True,所以此时在班级表创建时,可以直接保存,不需要提供老师数据

添加学生语法: 模型类.objects.create() 通过外键_id的形式来添加 Student.objects.create(name="李四",gender="男",score=80,teacher_id=3) 直接给外键赋值一个老师对象 t1 = Teacher.objects.create(name="李老师",gender="男") Student.objects.create(name="李四",gender="男",score=80,teacher=t1) 删除学生语法: 模型类.objects.get(条件).delete() Student.objects.get(id=1).delete() 修改学生语法: 模型类.objects.filter(条件).update(字段1,字段2...) Student.objects.get(id=1).update(name="张三")

注意:要记得删除之后要重新获取一次数据,否则查看到的结果中还是之前获取到的有老师的班级数据

多对一的正向查询

将老师分配个班级之后,由于班级表关联了老师字段,我们可以通过班级找到对应老师 虽然老师表中没有关联班级字段,但是也可以通过老师找到他所带的班级,这种查询方式也叫作关联查询

# 查询id为2的学生的老师姓名 --找到id为2的学生 stu = Student.objects.get(id=2) --找到stu对应的老师 stu.teacher.name stu.外键.name 对一的反向查询

通过模型类名称后追加一个_set,来实现反向查询

如何通过长尾关键词优化多对一关系的产品描述?

反向查询:通过django的内置属性来进行查询 模型类(模型类小写)_set()可以反向查询老师名下的所有学生, # 查询id为1的老师的所有学生 --先找到id为1的老师 tea = Teacher.objects.get(id=1) --查询tea老师名下的所有学生 老师对象.模型类_set.all() tea.student_set.all()

标签:班主任