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数据类型详解(一)字符串
May 08 Python
Python2.X/Python3.X中urllib库区别讲解
Dec 19 Python
Python合并多个Excel数据的方法
Jul 16 Python
python实现录音小程序
Oct 26 Python
解决Django生产环境无法加载静态文件问题的解决
Apr 23 Python
Python OrderedDict的使用案例解析
Oct 25 Python
对python中各个response的使用说明
Mar 28 Python
Django+Celery实现动态配置定时任务的方法示例
May 26 Python
Python计算矩阵的和积的实例详解
Sep 10 Python
matplotlib 三维图表绘制方法简介
Sep 20 Python
python 如何停止一个死循环的线程
Nov 24 Python
分享Python获取本机IP地址的几种方法
Mar 17 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
NT IIS下用ODBC连接数据库
2006/10/09 PHP
PHP EOT定界符的使用详解
2008/09/30 PHP
smarty内置函数foreach用法实例
2015/01/22 PHP
菜单效果
2006/10/14 Javascript
JS 有名函数表达式全面解析
2010/03/19 Javascript
javascript中的变量是传值还是传址的?
2010/04/19 Javascript
javascript之学会吝啬 精简代码
2010/04/25 Javascript
JavaScript 程序编码规范
2010/11/23 Javascript
使用JQuery快速实现Tab的AJAX动态载入(实例讲解)
2013/12/11 Javascript
jQuery实现仿腾讯微博滑出效果报告每日天气的方法
2015/05/11 Javascript
javascript排序函数实现数字排序
2015/06/26 Javascript
Jquery基础教程之DOM操作
2015/08/19 Javascript
jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
2015/12/03 Javascript
vue.js入门教程之绑定class和style样式
2016/09/02 Javascript
微信小程序(应用号)简单实例应用及实例详解
2016/09/26 Javascript
js实现table添加行tr、删除行tr、清空行tr的简单实例
2016/10/15 Javascript
bootstrap实现每隔5秒自动轮播效果
2016/12/20 Javascript
ES6深入理解之“let”能替代”var“吗?
2017/06/28 Javascript
Vue 刷新当前路由的实现代码
2019/09/26 Javascript
[01:03:51]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第三场
2018/04/09 DOTA
基于python爬虫数据处理(详解)
2017/06/10 Python
Django 如何获取前端发送的头文件详解(推荐)
2017/08/15 Python
Python3.4编程实现简单抓取爬虫功能示例
2017/09/14 Python
Centos 升级到python3后pip 无法使用的解决方法
2018/06/12 Python
Python生成一个迭代器的实操方法
2019/06/18 Python
使用apiDoc实现python接口文档编写
2019/11/19 Python
Python坐标轴操作及设置代码实例
2020/06/04 Python
pytorch中index_select()的用法详解
2021/01/06 Python
Yahoo-PHP面试题4
2012/05/05 面试题
实习单位评语
2014/04/26 职场文书
爱的奉献演讲稿
2014/09/10 职场文书
领导班子党的群众路线对照检查材料
2014/09/25 职场文书
初三英语教学计划
2015/01/23 职场文书
趣味运动会广播稿
2015/08/19 职场文书
2016年10月份红领巾广播稿
2015/12/21 职场文书
SQL实现LeetCode(197.上升温度)
2021/08/07 MySQL