Django的model中创建表

类中的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

猜你喜欢

转载自www.cnblogs.com/zhaoyunlong/p/9907865.html