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列表(list)、字典(dict)、字符串(string)基本操作小结
Nov 28 Python
Python用Bottle轻量级框架进行Web开发
Jun 08 Python
详解python里使用正则表达式的分组命名方式
Oct 24 Python
django实现用户登陆功能详解
Dec 11 Python
numpy 对矩阵中Nan的处理:采用平均值的方法
Oct 30 Python
Python+OpenCV图片局部区域像素值处理改进版详解
Jan 23 Python
用django-allauth实现第三方登录的示例代码
Jun 24 Python
python的sys.path模块路径添加方式
Mar 09 Python
Python基于xlutils修改表格内容过程解析
Jul 28 Python
scrapy利用selenium爬取豆瓣阅读的全步骤
Sep 20 Python
Vs Code中8个好用的python 扩展插件
Oct 12 Python
python drf各类组件的用法和作用
Jan 12 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的变量类型和作用域详解
2014/03/12 PHP
php实现的简单日志写入函数
2015/03/31 PHP
php 截取GBK文档某个位置开始的n个字符方法
2017/03/08 PHP
PHP strripos函数用法总结
2019/02/11 PHP
jQuery asp.net 用json格式返回自定义对象
2010/04/07 Javascript
JS父页面与子页面相互传值方法
2014/03/05 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
2015/02/24 Javascript
js 判断所选时间(或者当前时间)是否在某一时间段的实现代码
2015/09/05 Javascript
js滚动条平滑移动示例代码
2016/03/29 Javascript
jquery判断input值不为空的方法
2016/06/05 Javascript
JavaScript实现移动端滑动选择日期功能
2016/06/21 Javascript
jQuery简单入门示例之用户校验demo示例
2016/07/09 Javascript
在js代码拼接dom对象到页面上去的模板总结(必看)
2017/02/14 Javascript
mui上拉加载功能实例详解
2017/04/13 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
2017/07/20 Javascript
Vue组件和Route的生命周期实例详解
2018/02/10 Javascript
layui 给数据表格加序号的方法
2018/08/20 Javascript
JavaScript fetch接口案例解析
2018/08/30 Javascript
详解Angular6学习笔记之主从组件
2018/09/05 Javascript
微信小程序把百度地图坐标转换成腾讯地图坐标过程详解
2019/07/10 Javascript
Layui实现带查询条件的分页
2019/07/27 Javascript
深入了解JavaScript词法作用域
2020/07/29 Javascript
使用Python来开发Markdown脚本扩展的实例分享
2016/03/04 Python
python 自动化将markdown文件转成html文件的方法
2016/09/23 Python
Python基于PyGraphics包实现图片截取功能的方法
2017/12/21 Python
树莓派3 搭建 django 服务器的实例
2019/08/29 Python
OpenCV 使用imread()函数读取图片的六种正确姿势
2020/07/09 Python
详解Python中的文件操作
2021/01/14 Python
HTML5 视频播放(video),JavaScript控制视频的实例代码
2018/10/08 HTML / CSS
韩国最大的购物网站:Gmarket
2019/06/20 全球购物
2015年度个人思想工作总结
2015/04/08 职场文书
2015年效能监察工作总结
2015/04/23 职场文书
毕业答辩开场白范文
2015/05/27 职场文书
导游词之岳阳楼
2019/09/25 职场文书
Python基础之tkinter图形化界面学习
2021/04/29 Python
浅谈哪个Python库才最适合做数据可视化
2021/06/28 Python