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 03 Python
对numpy中轴与维度的理解
Apr 18 Python
用TensorFlow实现多类支持向量机的示例代码
Apr 28 Python
Python 批量合并多个txt文件的实例讲解
May 08 Python
python实现烟花小程序
Jan 30 Python
Python基于Opencv来快速实现人脸识别过程详解(完整版)
Jul 11 Python
pycharm修改文件的默认打开方式的步骤
Jul 29 Python
python线程的几种创建方式详解
Aug 29 Python
python+rsync精确同步指定格式文件
Aug 29 Python
python global和nonlocal用法解析
Feb 03 Python
python实现在线翻译功能
Mar 03 Python
python获取栅格点和面值的实现
Mar 10 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
收音机发烧友应当熟知的100条知识
2021/03/02 无线电
php实现无限级分类实现代码(递归方法)
2011/01/01 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
php实现的生成迷宫与迷宫寻址算法完整实例
2017/11/06 PHP
PHP扩展Swoole实现实时异步任务队列示例
2019/04/13 PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
2019/06/03 PHP
jquery对table中各数据的增加、保存、删除操作示例
2014/05/14 Javascript
jQuery团购倒计时特效实现方法
2015/05/07 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析
2016/06/08 Javascript
Google 地图类型详解及示例代码
2016/08/06 Javascript
Vue.JS入门教程之事件监听
2016/12/01 Javascript
js实现右键自定义菜单
2016/12/03 Javascript
AngularJS 的$timeout服务示例代码
2017/09/21 Javascript
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
详解原生JS回到顶部
2019/03/25 Javascript
ES6知识点整理之对象解构赋值应用示例
2019/04/17 Javascript
React-redux实现小案例(todolist)的过程
2019/09/29 Javascript
JS实现“全选”和&quot;全不选&quot;功能代码实例
2020/02/06 Javascript
JS组件库AlloyTouch实现图片轮播过程解析
2020/05/29 Javascript
Python2.x中文乱码问题解决方法
2015/06/02 Python
详解Django中的form库的使用
2015/07/18 Python
Python 文件管理实例详解
2015/11/10 Python
Python实现字符串与数组相互转换功能示例
2017/09/22 Python
对python读取CT医学图像的实例详解
2019/01/24 Python
python 使用pdfminer3k 读取PDF文档的例子
2019/08/27 Python
Python实现屏幕录制功能的代码
2020/03/02 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
2020/06/28 Python
python UDF 实现对csv批量md5加密操作
2021/01/01 Python
在C中是否有模拟继承等面向对象程序设计特性的好方法
2012/05/22 面试题
会计电算化专业毕业生自荐信
2013/12/20 职场文书
个人授权委托书范本
2014/04/03 职场文书
单位单身证明样本
2014/10/11 职场文书
环境建议书
2015/02/04 职场文书
出纳岗位职责范本
2015/03/31 职场文书
JavaScript原型链中函数和对象的理解
2022/06/16 Javascript