Django的model中建立表
阿新 • • 發佈:2018-11-05
類中的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