当前位置:Gxlcms > 数据库问题 > django中的数据库外键操作

django中的数据库外键操作

时间:2021-07-01 10:21:17 帮助过:24人阅读

以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中的数据库外键操作

标签:一个   content   读取   unit   反向   mode   主键   参数   个数   

人气教程排行