•基于Django
先创建一个django项目,在项目中创建一些表,用来测试rest framework的各种组件
class UserInfo(models.Model): """用户信息表""" user = models.CharField(max_length=32) pwd = models.CharField(max_length=32) class UserToken(models.Model): """用户token表""" user = models.OneToOneField(to="UserInfo", on_delete=models.CASCADE) token = models.CharField(max_length=64) class Courses(models.Model): """ 课程表 """ name = models.CharField(verbose_name="课程名称", max_length=32) course_img = models.CharField(verbose_name="课程图片", max_length=64) level_choices = ( (1, "初级"), (2, "中级"), (3, "高级"), ) level = models.IntegerField(verbose_name="难度", choices=level_choices, default=1) def __str__(self): return self.name class CourseDetail(models.Model): """课程详细表""" course = models.OneToOneField(to="Courses", on_delete=models.CASCADE) slogan = models.CharField(verbose_name="口号", max_length=255) why = models.CharField(verbose_name="为什么要学", max_length=255) recommend_courses = models.ManyToManyField(verbose_name="推荐课程", to="Courses", related_name="rc") # related_name设置反向查询的字段,有多个关联时指定某个字段进行反向查询 def __str__(self): return "课程详细:" + self.course.title class Chapter(models.Model): """ 课程章节表 """ num = models.IntegerField(verbose_name="章节") name = models.CharField(verbose_name="章节名称", max_length=32) course = models.ForeignKey(verbose_name="所属课程", to="Courses", related_name='coursechapters', on_delete=models.CASCADE) def __str__(self): return self.name