1. 程式人生 > >django中的數據庫外鍵操作

django中的數據庫外鍵操作

.so 指向 oat 生成 price 外鍵 參數 rfi ice

以MYSQL為例: (1)在model中定義兩個數據表,食物信息和食物類別信息 class foodInfo(models.Model): food_id = models.AutoField(max_length=4) #自定義主鍵,不指定主鍵默認會生成一個名為‘ID’列的主鍵 food_name = models.CharField(max_length=10) food_content = models.CharField(max_length=100) food_price = models.FloatField() food_sort = models.ForeignKey(foodSorts) #外鍵指向到foodSorts表中的主鍵 food_unit = models.CharField(max_length=4) def __str__(self): return self.food_name class foodSorts(models.Model): sort_name = models.CharField(max_length=10) sort_id = models.AutoField(max_length=4) def __str__(self): return self.sort_name (2)操作外鍵讀取數據 從foodInfo表中通過外鍵獲取foodSorts表中的信息(數據關系是一對一): a = foodInfo.objects.get(food_id=10) a.foodSorts a.foodSorts.sort_id 從foodSorts表中反向獲取foodInfo表中的信息(數據關系是一對多): b = foodSorts.objects.get(sort_id=4) b.foodinfo_set.all() 屬性名稱foodinfo_set是由模型名稱的小寫(如foodInfo)加_set組成的。這裏說一下,在ForeignKey函數中有一個參數related_name,如果設置了這個參數就可以不用_set的形式了,可以直接用related_name的值

django中的數據庫外鍵操作