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之折腾一下目录
Oct 24 Python
Python生成随机密码
Mar 10 Python
Python的Django框架中TEMPLATES项的设置教程
May 29 Python
Python读写txt文本文件的操作方法全解析
Jun 26 Python
深入理解Python分布式爬虫原理
Nov 23 Python
python实现数据预处理之填充缺失值的示例
Dec 22 Python
Python3中编码与解码之Unicode与bytes的讲解
Feb 28 Python
Python Django基础二之URL路由系统
Jul 18 Python
Django Python 获取请求头信息Content-Range的方法
Aug 06 Python
Django 实现Admin自动填充当前用户的示例代码
Nov 18 Python
Python列表解析操作实例总结
Feb 26 Python
Django Admin设置应用程序及模型顺序方法详解
Apr 01 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
PHP动态输出JavaScript代码实例
2015/02/12 PHP
php读取der格式证书乱码解决方法
2015/06/22 PHP
PHP简单获取网站百度搜索和搜狗搜索收录量的方法
2016/08/23 PHP
PHP设计模式入门之状态模式原理与实现方法分析
2020/04/26 PHP
jQuery使用手册之一
2007/03/24 Javascript
Extjs 几个方法的讨论
2010/01/28 Javascript
JavaScript中使用构造函数实现继承的代码
2010/08/12 Javascript
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
2012/05/14 Javascript
js判断屏幕分辨率的代码
2013/07/16 Javascript
js 上下左右键控制焦点(示例代码)
2013/12/14 Javascript
JS使用oumousemove和oumouseout动态改变图片显示的方法
2015/03/31 Javascript
jQuery中.attr()和.data()的区别分析
2017/09/03 jQuery
解决JSON.stringify()自动将中文转译成unicode的问题
2018/01/05 Javascript
使用vue-router在Vue页面之间传递数据的方法
2019/07/15 Javascript
layui 实现加载动画以及非真实加载进度的方法
2019/09/23 Javascript
Javascript作用域和作用域链原理解析
2020/03/03 Javascript
vue项目在线上服务器访问失败原因分析
2020/08/14 Javascript
[05:04]完美世界携手游戏风云打造 卡尔工作室地图界面篇
2013/04/23 DOTA
[02:08]2014DOTA2国际邀请赛 430专访:力争取得小组前二
2014/07/11 DOTA
[43:14]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第二场 8.21
2018/08/22 DOTA
Python下载指定页面上图片的方法
2016/05/12 Python
Python生成随机数组的方法小结
2017/04/15 Python
使用Python制作微信跳一跳辅助
2018/01/31 Python
python Celery定时任务的示例
2018/03/13 Python
centos7之Python3.74安装教程
2019/08/15 Python
PyQt5+python3+pycharm开发环境配置教程
2020/03/24 Python
AmazeUI 手机版页面的顶部导航条Header与侧边导航栏offCanvas的示例代码
2020/08/19 HTML / CSS
英国领先的男装设计师服装购物网站:Mainline Menswear
2018/02/04 全球购物
小学教师的自我评价范例
2013/10/31 职场文书
护理专业自我鉴定
2014/01/30 职场文书
小学中秋节活动方案
2014/02/06 职场文书
2014年客房部工作总结
2014/11/22 职场文书
志愿者个人总结
2015/03/03 职场文书
毕业生自荐信范文
2015/03/05 职场文书
Redis6.0搭建集群Redis-cluster的方法
2021/05/08 Redis
matlab xlabel位置的设置方式
2021/05/21 Python