django foreignkey(外键)的实现


Posted in Python onJuly 29, 2019

foreignkey是一种关联字段,将两张表进行关联的方式,我们在dodels.py里写入要生成的两张表:

class Usergroup(models.Model):
  uid=models.AutoField(primary_key=True)
  caption=models.CharField(max_length=64,null=True)
  ctime=models.DateField(auto_now_add=True,null=True)
  uptime=models.DateField(auto_now=True,null=True)
class Userinfo(models.Model):
  username=models.CharField(max_length=32,blank=True)
  password=models.FileField(max_length=60,help_text='pwd')
  email=models.CharField(max_length=60)
  test=models.EmailField(max_length=20,null=True,error_messages={'invalid':'shurumima'})
  user_group=models.ForeignKey('Usergroup',to_field='uid',default=1)  #这里与上面的Usergroup表的uid进行关联,默认取到uid=1的行)
  user_type_choices=(
    (1,'superuser'),
    (2,'commonuser'),
    (3,'com-commonuser'),
  )
  user_type_id=models.IntegerField(choices=user_type_choices,default=1)

运行下面两条命令:

C:\Users\Liujiangbu.GLOBALE.001\PycharmProjects\untitled3>python manage.py makemigrations
C:\Users\Liujiangbu.GLOBALE.001\PycharmProjects\untitled3>python manage.py migrate

编辑app项目的views.py加入下面两段:

def user_info(request):
  if request.method == "GET":
    #userlist = test.objects.all()
    userlist2=models.Userinfo.objects.all()  #获取Userinfo表的所有信息

    # return render(request,'userinfo.html',{'userlist':userlist})
    return render(request, 'userinfo.html', {'userlist2': userlist2})   #模板引用
  elif request.method == "POST":
    u = request.POST.get('user')
    pp= request.POST.get('pwd')
    #test.objects.create(username=u,depno=pp)
    models.Userinfo.objects.create(username=u,password=pp,user_group_id=1)
    return HttpResponse("<p>注册成功</p>")

模板中创建userinfo.html,并加入下面内容:

django foreignkey(外键)的实现

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>666666(runoob.com)</title>
</head>
<body style="background-color:silver">
<div>
  <div style="color:#00FF00">
    <a class="menu" href="/home-bak" rel="external nofollow" >是爷们儿就点下 </a>
   <br /> <a class="menu" href="/group" rel="external nofollow" >是爷们儿就??点下 </a>
  </div>
  <div style="color:#666644">
    <h3>添加主机</h3>
    <form method="POST" action="/userinfo">
       <input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
      <input type="text" name="user">
      <input type="text" name="pwd">
      <input type="submit" name="添加">
    </form>
    <h3>主机列表</h3>
    <ul>
      {% for i in userlist2 %}
        <li><a href="/datail" rel="external nofollow" >{{ i.username }}</a>
        <span>{{ i.user_group.caption }}</span>
        </li>
      {% endfor %}
    </ul>
  </div>
</div>
</body>
</html>

然后添加url:

django foreignkey(外键)的实现

执行项目:

django foreignkey(外键)的实现

在空白处写入内容,会自动添加到数据库中:

django foreignkey(外键)的实现

表中的DBA就是通过外键关联获取到了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现排序算法
Feb 14 Python
Python的subprocess模块总结
Nov 07 Python
使用Python的Flask框架来搭建第一个Web应用程序
Jun 04 Python
Python基于scapy实现修改IP发送请求的方法示例
Jul 08 Python
详解Python的hasattr() getattr() setattr() 函数使用方法
Jul 09 Python
Python实现针对json中某个关键字段进行排序操作示例
Dec 25 Python
Python静态类型检查新工具之pyright 使用指南
Apr 26 Python
Python socket非阻塞模块应用示例
Sep 12 Python
python异步编程 使用yield from过程解析
Sep 25 Python
Python Scrapy框架第一个入门程序示例
Feb 05 Python
python mock测试的示例
Oct 19 Python
PyCharm Ctrl+Shift+F 失灵的简单有效解决操作
Jan 15 Python
python实现翻转棋游戏(othello)
Jul 29 #Python
Django如何将URL映射到视图
Jul 29 #Python
python3获取当前目录的实现方法
Jul 29 #Python
Python在Matplotlib图中显示中文字体的操作方法
Jul 29 #Python
Django框架创建mysql连接与使用示例
Jul 29 #Python
python使用minimax算法实现五子棋
Jul 29 #Python
浅析python 中大括号中括号小括号的区分
Jul 29 #Python
You might like
蝙蝠侠:侠影之谜
2020/03/04 欧美动漫
一段防盗连的PHP代码
2006/12/06 PHP
php生成二维码的几种方式整理及使用实例
2013/06/03 PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
2015/07/10 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
2019/05/06 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
jquery png 透明解决方案(推荐)
2010/08/21 Javascript
jquery 滚动条事件简单实例
2013/07/12 Javascript
js使用onmousemove和onmouseout获取鼠标坐标的方法
2015/03/31 Javascript
nodejs实现bigpipe异步加载页面方案
2016/01/26 NodeJs
JS模态窗口返回值兼容问题的完美解决方法
2016/05/28 Javascript
jQuery EasyUI 右键菜单--关闭标签/选项卡的简单实例
2016/10/10 Javascript
AngularJS入门教程之模块化操作用法示例
2016/11/02 Javascript
jsTree使用记录实例
2016/12/01 Javascript
AngularJS中使用ngModal模态框实例
2017/05/27 Javascript
AngularJS select设置默认值的实现方法
2017/08/25 Javascript
Vue.js中使用iView日期选择器并设置开始时间结束时间校验功能
2018/08/12 Javascript
详解Vue.js使用Swiper.js在iOS
2018/09/10 Javascript
vue-router路由懒加载及实现的3种方式
2021/02/28 Vue.js
Python编码时应该注意的几个情况
2013/03/04 Python
使用Python3中的gettext模块翻译Python源码以支持多语言
2015/03/31 Python
python查找指定具有相同内容文件的方法
2015/06/28 Python
python 3利用BeautifulSoup抓取div标签的方法示例
2017/05/28 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
2018/12/27 Python
利用python开发app实战的方法
2019/07/09 Python
python web框架中实现原生分页
2019/09/08 Python
Python hashlib加密模块常用方法解析
2019/12/18 Python
Lowe’s加拿大:家居装修、翻新和五金店
2019/12/06 全球购物
.net软件工程师面试题
2015/03/31 面试题
大学运动会通讯稿
2014/01/28 职场文书
群众路线四风问题整改措施
2014/09/27 职场文书
2014年高中教师工作总结
2014/12/19 职场文书
2015中秋节晚会主持词
2015/07/01 职场文书
婚礼男方父母答谢词
2015/09/29 职场文书
2016年党员创先争优公开承诺书
2016/03/25 职场文书
MySQL中order by的使用详情
2021/11/17 MySQL