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正则抓取网易新闻的方法示例
Apr 21 Python
Python机器学习logistic回归代码解析
Jan 17 Python
基于Python 装饰器装饰类中的方法实例
Apr 21 Python
python将处理好的图像保存到指定目录下的方法
Jan 10 Python
Python中如何使用if语句处理列表实例代码
Feb 24 Python
Python3列表内置方法大全及示例代码小结
May 10 Python
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
Jun 27 Python
如何利用python给图片添加半透明水印
Sep 06 Python
Pandas实现dataframe和np.array的相互转换
Nov 30 Python
django迁移文件migrations的实现
Mar 31 Python
Django多层嵌套ManyToMany字段ORM操作详解
May 19 Python
Pycharm安装python库的方法
Nov 24 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
第七节 类的静态成员 [7]
2006/10/09 PHP
基于OpenCV的PHP图像人脸识别技术
2009/10/11 PHP
PHP超全局数组(Superglobals)介绍
2015/07/01 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
2016/01/05 PHP
关于php中的json_encode()和json_decode()函数的一些说明
2016/11/20 PHP
jQuery学习2 选择器的使用说明
2010/02/07 Javascript
让mayfish支持mysqli数据库驱动的实现方法
2010/05/22 Javascript
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
2011/12/26 Javascript
Jquery实现显示和隐藏的4种简单方式
2013/08/28 Javascript
基于jquery实现等比缩放图片
2014/12/03 Javascript
js动态添加的DIV中的onclick事件简单实例
2016/07/25 Javascript
JavaScript的new date等日期函数在safari中遇到的坑
2016/10/24 Javascript
常用的javascript设计模式
2017/01/11 Javascript
原生js实现网页顶部自动下拉/收缩广告效果
2017/01/20 Javascript
Node.js实现连接mysql数据库功能示例
2017/09/15 Javascript
vue router自动判断左右翻页转场动画效果
2017/10/10 Javascript
js for终止循环 跳出多层循环
2018/10/04 Javascript
VUE基于NUXT的SSR 服务端渲染
2018/11/30 Javascript
es6中reduce的基本使用方法
2019/09/10 Javascript
封装一下vue中的axios示例代码详解
2020/02/16 Javascript
Python3实战之爬虫抓取网易云音乐的热门评论
2017/10/09 Python
python编程羊车门问题代码示例
2017/10/25 Python
python提取包含关键字的整行数据方法
2018/12/11 Python
OpenCV+Python识别车牌和字符分割的实现
2019/01/31 Python
Python递归函数实例讲解
2019/02/27 Python
使用python获取(宜宾市地震信息)地震信息
2019/06/20 Python
Jupyter notebook如何实现指定浏览器打开
2020/05/13 Python
python 实现学生信息管理系统的示例
2020/11/28 Python
canvas学习笔记之2d画布基础的实现
2019/02/21 HTML / CSS
Omio荷兰:预订火车、巴士和机票
2018/11/04 全球购物
饭店工作计划书
2014/01/10 职场文书
2014年控辍保学工作总结
2014/12/08 职场文书
法院执行局工作总结
2015/08/11 职场文书
2016年小学生清明节广播稿
2015/12/17 职场文书
2016三八妇女节校园广播稿
2015/12/17 职场文书
导游词之山东孔庙
2019/11/04 职场文书