zoukankan      html  css  js  c++  java
  • django中的数据库外键操作

    以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的值
     
  • 相关阅读:
    简单的文件上传html+ashx
    URL重写
    图解classloader加载class的流程及自定义ClassLoader
    Linux下PS命令详解
    JAVA字符串格式化-String.format()的使用
    JAVA String.format 方法使用介绍
    MVC设计模式(Python)
    Jupyter NoteBook 的快捷键使用指南
    Hive常用函数
    Hive Tutorial(一)
  • 原文地址:https://www.cnblogs.com/stuqx/p/7383695.html
Copyright © 2011-2022 走看看