1. 程式人生 > >django的contenttype表

django的contenttype表

https://blog.csdn.net/aaronthon/article/details/81714496

這篇文章已經非常詳細了,供自己以後忘了...回看......

 

 

 總結:  

當一張表和多個表FK關聯,並且多個FK中只能選擇其中一個或其中n個時,可以利用contenttype,只需定義三個欄位就搞定!(固定)

content_type = models.ForeignKey(ContentType,on_delete=models.CASCADE)  # 關聯表
object_id = models.PositiveIntegerField() # 關聯表的物件的pk                  
content_object = GenericForeignKey('content_type', 'object_id') # 不會生成表字段,用於正向查詢關聯物件 obj.content_object

  

price_policy = GenericRelation("PricePolicy")  # GenericForeignKey反向查詢,不會生成表字段  obj.price_policy.all()