day18-基于DjangoORM的外键实现增加用户(含select标签)
一、前言
今天我们来学习一下,如果增加一个有外键的表,和在前端页面如何实现一个动态的下拉框选项。
二、增加数据
说明:我们给一个有外键的表增加一条数据。
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
五、总结
一对多:
- 外键
- 外键字段_id
- modles.tb.objects.create(name='root',user_group_id=1)
- 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标签)相关推荐
- MySQL删除外键、增加外键及删除主键、增加主键
目录 一.MySQL删除外键 二.MySQL增加外键 三.MySQL删除主键 四.MySQL增加主键 一.MySQL删除外键 格式: alter table 表名 drop foreign key 外 ...
- Hibernate 一对一外键单向关联
[align=center][size=medium]Hibernate 一对一外键单向关联[/size][/align] 基于外键关联的单向一对一关联和单向多对一关联几乎是一样的.唯一的不同就是单向 ...
- mysql的外键探讨
2019独角兽企业重金招聘Python工程师标准>>> 在MySQL 3.23.44版本后,InnoDB引擎类型的表支持了外键约束. 一,什么是foreign key,及其完整性 个 ...
- MySQL中的主键、唯一键、外键对比
一.主键 主键:每张表中只能有一个字段(复合主键可以有多个字段)使用此属性,用来唯一约束该字段中的数据,不能重复 1.增加主键: 在创建表的时候,直接在字段后,添加primary key关键字 CRE ...
- MYSQL外键(Foreign Key)的使用
在MySQL 3.23.44版本后,InnoDB引擎类型的表支持了外键约束. 外键的使用条件: 1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持 ...
- MySQL外键与外键关系说明(简单易懂)
MySQL主键和外键使用及说明 一.外键约束 MySQL通过外键约束来保证表与表之间的数据的完整性和准确性. 外键的使用条件: 1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后 ...
- mysql中外键的作用是什么_mysql外键基本功能与用法详解
本文实例讲述了mysql外键基本功能与用法.分享给大家供大家参考,具体如下: 本文内容: 什么是外键 外键的增加 外键的修改和删除 外键的约束模式 首发日期:2018-04-12 什么是外键: 外键就 ...
- mysql主键外键_MySQL主键和外键使用及说明
摘自网上一个经典的例子:大哥和小弟 一.外键约束 MySQL通过外键约束来保证表与表之间的数据的完整性和准确性. 外键的使用条件: 1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以 ...
- oracle 外键子查询,外键、联合查询、子查询
1.外键: 增加外键 创建表的时候增加外键:在所有的表字段之后,使用foreign key(外键字段) references 外部表(主键字段) 在新增表之后增加外键:修改表结构,使用alter ta ...
最新文章
- WinAPI: GetSystemDirectory - 返回 System 文件夹路径
- libtorch调用resnet
- PHP在各种HTTP服务器上运行模式分析
- 树莓派智能家居-语音聊天机器人实现
- Spark SQL整合Hive
- 基于JAVA+Servlet+JSP+MYSQL的教师教学评价系统
- Cocos2dx中利用双向链表实现无限循环滚动层
- 3D呈现transform-style(CSS3)
- python怎么在运行中查看执行状态_python,_python程序运行时 查看对象状态,python - phpStudy...
- SQL基础知识总结二
- 反射的基础(二):构造器类的使用
- IEEE与APA引用格式
- 关于数据库工作方面的一些感悟
- qgjsfagafgpjqip
- oracle登录 报ora00604,oracle 表空间不足 ORA-00604 ORA-01653 ORA-02002 ORA-00604 ORA-01653
- 华为交换机SNMP读取LLDP邻居信息的特殊配置
- hadoop集群部署超级详细
- 回归(Regression )
- 计算机系统英语参考文献短,计算机英文外文外文 计算机英文参考文献怎么写...
- “B站”们的服务器藏哪儿了?
热门文章
- 利用奇异值产生脆弱水印应用于检测、定位、恢复文章总结
- LeetCode--34.在排序数组中查找元素第一个和最后一个位置(二分法)
- c语言中post协议,c/c++的http协议的get和post方法
- 9 pcb螺丝焊盘打很多小孔_PCB板设计的10个基本设计流程
- 7-1 射击游戏 (20 分)
- R7-9 模拟EXCEL排序 (25 分)
- 2021浙江高考首考成绩查询,浙江2021选考成绩什么时候出成绩?附2021浙江学考成绩查询时间...
- 思杰20140522
- 前端展示 字数过多 进行隐藏
- JDBC模板对象是多例的