类中的class Meta字段的作用:
第一个作用可以给这个类起名字 在后台的admin中显示这个类名字
class CourseCategory(models.Model): """课程大类, e.g 前端 后端...""" name = models.CharField(max_length=64, unique=True) def __str__(self): return "%s" % self.name class Meta: # 给这个类起名字 verbose_name_plural = "01.课程大类"
还可以创建这个类但是在数据库中不生成这个表
class CourseCategory(models.Model): """课程大类, e.g 前端 后端...""" name = models.CharField(max_length=64, unique=True) def __str__(self): return "%s" % self.name class Meta: # 只创建类但是不生成表 abstract = True
创建表的时候 我没可以使用contentType进行解决一张表对多张表做foreign key的关系,并且可以使用:
反向查找:GenericRelation,
正向查找:GenericForeign
在使用orm查询的时候就可以用正向反向字段 然后根据GenericRelation,GenericForeignkey的字段来进行反向正向查询
class DegreeCourse(models.Model): """学位课程""" # 用于GenericForeignKey反向查询, 不会生成表字段,切勿删除 # coupon = GenericRelation("Coupon") # 用于GenericForeignKey反向查询,不会生成表字段,切勿删除 degreecourse_price_policy = GenericRelation("PricePolicy") def __str__(self): return self.name class Meta: verbose_name_plural = "03.学位课" class OftenAskedQuestion(models.Model): """常见问题""" content_type = models.ForeignKey(ContentType) # 关联course or degree_course