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中顺序表的实现简单代码分享
Jan 09 Python
python中找出numpy array数组的最值及其索引方法
Apr 17 Python
python中sort和sorted排序的实例方法
Aug 26 Python
python 日志 logging模块详细解析
Mar 31 Python
python轮询机制控制led实例
May 03 Python
Python如何使用队列方式实现多线程爬虫
May 12 Python
Python3爬虫中Ajax的用法
Jul 10 Python
Ubuntu 20.04安装Pycharm2020.2及锁定到任务栏的问题(小白级操作)
Oct 29 Python
Python中pass的作用与使用教程
Nov 13 Python
Python实现Word文档转换Markdown的示例
Dec 22 Python
python实现简单猜单词游戏
Dec 24 Python
python中super()函数的理解与基本使用
Aug 30 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开发的一些注意点总结
2010/10/12 PHP
简单分析ucenter 会员同步登录通信原理
2014/08/25 PHP
php实现的发送带附件邮件类实例
2014/09/22 PHP
php之curl实现http与https请求的方法
2014/10/21 PHP
20个2014年最优秀的PHP框架回顾
2014/10/22 PHP
thinkphp3.2.3 分页代码分享
2016/07/28 PHP
谈谈php对接芝麻信用踩的坑
2016/12/01 PHP
最简单的js图片切换效果实现代码
2011/09/24 Javascript
jQuery 数据缓存模块进化史详细介绍
2012/11/19 Javascript
js获取或设置当前窗口url参数的小例子
2013/10/14 Javascript
JS实现图片产生波纹一样flash效果的方法
2015/02/27 Javascript
jQuery实现图片渐入渐出切换展示效果
2015/08/15 Javascript
jQuery中$.ajax()方法参数解析
2016/10/22 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
2016/12/08 Javascript
JS实现旋转木马式图片轮播效果
2017/01/18 Javascript
微信小程序 支付功能实现PHP实例详解
2017/05/12 Javascript
图片懒加载imgLazyLoading.js使用详解
2020/09/15 Javascript
[51:06]DOTA2-DPC中国联赛 正赛 Elephant vs Aster BO3 第二场 1月26日
2021/03/11 DOTA
浅谈python中np.array的shape( ,)与( ,1)的区别
2018/06/04 Python
python的移位操作实现详解
2019/08/21 Python
tensorflow-gpu安装的常见问题及解决方案
2020/01/20 Python
sklearn+python:线性回归案例
2020/02/24 Python
Python 实现PS滤镜的旋涡特效
2020/12/03 Python
深入解析HTML5中的Blob对象的使用
2015/09/08 HTML / CSS
纽约和芝加哥当天送花:Ode à la Rose
2019/07/05 全球购物
中学生期末评语
2014/02/03 职场文书
远程研修随笔感言
2014/02/10 职场文书
质量月口号
2014/06/20 职场文书
植树造林的宣传标语
2014/06/23 职场文书
党风廉正建设个人工作总结
2015/03/06 职场文书
2015年设计师个人工作总结
2015/04/25 职场文书
初中军训感想
2015/08/07 职场文书
2016大学生国家助学贷款承诺书
2016/03/25 职场文书
Nginx安装完成没有生成sbin目录的解决方法
2021/03/31 Servers
如何在Mac上通过docker配置PHP开发环境
2021/05/29 PHP
Python办公自动化PPT批量转换操作
2021/09/15 Python