一、前言

  今天我们来学习一下,如果增加一个有外键的表,和在前端页面如何实现一个动态的下拉框选项。

二、增加数据

说明:我们给一个有外键的表增加一条数据。

    models.UserInfo.objects.create(username="honggege",password="123",user_group_id=1,  #外键值user_type_id=2)

虽然在modles里面是user_group,这个user_group是UserGroup的对象,如下:

class UserInfo(models.Model):username = models.CharField(max_length=32,help_text="用户名")password = models.CharField(max_length=60)user_group = models.ForeignKey("UserGroup",to_field="uid",default=1,on_delete=models.CASCADE,)user_type_choices = ((1,"超级用户"),(2,"普通用户"),(3,"访客"),)user_type_id = models.IntegerField(choices=user_type_choices,default=1)

但是在数据库生成的字段是 user_group_id,所以还是采用user_group_id = 1的方式。

三、动态下拉框选项

3.1、动态下拉框

说明:我们做一个select的动态下拉框

view.py的代码如下:

def user_info(request):from app01 import modelsif request.method == "GET":user_list = models.UserInfo.objects.all()group_list = models.UserGroup.objects.all()  #组列表return  render(request,'user_info.html',{'user_list':user_list,'group_list':group_list})

前端代码编写如下:

<select name="group_name">{% for item in group_list %}<option value="{{ item.uid }}">{{ item.groupname }}</option>{% endfor %}
</select>

四、外键原理

我如果需要通过userinfo表找到foo表中的name

user_obj = models.UserInfo.objects.filter(id=1).first()
user_obj.group.name

五、总结

  一对多:

  1. 外键
  2. 外键字段_id
  3. modles.tb.objects.create(name='root',user_group_id=1)
  4. userlist = models.tb.objects.all

   for row in userlist:

     row.id

     row.user_group_id

     row.user_group.groupname

转载于:https://www.cnblogs.com/zhangqigao/articles/8557616.html

day18-基于DjangoORM的外键实现增加用户(含select标签)相关推荐

  1. MySQL删除外键、增加外键及删除主键、增加主键

    目录 一.MySQL删除外键 二.MySQL增加外键 三.MySQL删除主键 四.MySQL增加主键 一.MySQL删除外键 格式: alter table 表名 drop foreign key 外 ...

  2. Hibernate 一对一外键单向关联

    [align=center][size=medium]Hibernate 一对一外键单向关联[/size][/align] 基于外键关联的单向一对一关联和单向多对一关联几乎是一样的.唯一的不同就是单向 ...

  3. mysql的外键探讨

    2019独角兽企业重金招聘Python工程师标准>>> 在MySQL 3.23.44版本后,InnoDB引擎类型的表支持了外键约束. 一,什么是foreign key,及其完整性 个 ...

  4. MySQL中的主键、唯一键、外键对比

    一.主键 主键:每张表中只能有一个字段(复合主键可以有多个字段)使用此属性,用来唯一约束该字段中的数据,不能重复 1.增加主键: 在创建表的时候,直接在字段后,添加primary key关键字 CRE ...

  5. MYSQL外键(Foreign Key)的使用

    在MySQL 3.23.44版本后,InnoDB引擎类型的表支持了外键约束. 外键的使用条件: 1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持 ...

  6. MySQL外键与外键关系说明(简单易懂)

    MySQL主键和外键使用及说明 一.外键约束 MySQL通过外键约束来保证表与表之间的数据的完整性和准确性. 外键的使用条件:  1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后 ...

  7. mysql中外键的作用是什么_mysql外键基本功能与用法详解

    本文实例讲述了mysql外键基本功能与用法.分享给大家供大家参考,具体如下: 本文内容: 什么是外键 外键的增加 外键的修改和删除 外键的约束模式 首发日期:2018-04-12 什么是外键: 外键就 ...

  8. mysql主键外键_MySQL主键和外键使用及说明

    摘自网上一个经典的例子:大哥和小弟 一.外键约束 MySQL通过外键约束来保证表与表之间的数据的完整性和准确性. 外键的使用条件: 1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以 ...

  9. oracle 外键子查询,外键、联合查询、子查询

    1.外键: 增加外键 创建表的时候增加外键:在所有的表字段之后,使用foreign key(外键字段) references 外部表(主键字段) 在新增表之后增加外键:修改表结构,使用alter ta ...

最新文章

  1. WinAPI: GetSystemDirectory - 返回 System 文件夹路径
  2. libtorch调用resnet
  3. PHP在各种HTTP服务器上运行模式分析
  4. 树莓派智能家居-语音聊天机器人实现
  5. Spark SQL整合Hive
  6. 基于JAVA+Servlet+JSP+MYSQL的教师教学评价系统
  7. Cocos2dx中利用双向链表实现无限循环滚动层
  8. 3D呈现transform-style(CSS3)
  9. python怎么在运行中查看执行状态_python,_python程序运行时 查看对象状态,python - phpStudy...
  10. SQL基础知识总结二
  11. 反射的基础(二):构造器类的使用
  12. IEEE与APA引用格式
  13. 关于数据库工作方面的一些感悟
  14. qgjsfagafgpjqip
  15. oracle登录 报ora00604,oracle 表空间不足 ORA-00604 ORA-01653 ORA-02002 ORA-00604 ORA-01653
  16. 华为交换机SNMP读取LLDP邻居信息的特殊配置
  17. hadoop集群部署超级详细
  18. 回归(Regression )
  19. 计算机系统英语参考文献短,计算机英文外文外文 计算机英文参考文献怎么写...
  20. “B站”们的服务器藏哪儿了?

热门文章

  1. 利用奇异值产生脆弱水印应用于检测、定位、恢复文章总结
  2. LeetCode--34.在排序数组中查找元素第一个和最后一个位置(二分法)
  3. c语言中post协议,c/c++的http协议的get和post方法
  4. 9 pcb螺丝焊盘打很多小孔_PCB板设计的10个基本设计流程
  5. 7-1 射击游戏 (20 分)
  6. R7-9 模拟EXCEL排序 (25 分)
  7. 2021浙江高考首考成绩查询,浙江2021选考成绩什么时候出成绩?附2021浙江学考成绩查询时间...
  8. 思杰20140522
  9. 前端展示 字数过多 进行隐藏
  10. JDBC模板对象是多例的