1. 程式人生 > >Django的model中建立表

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