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标准库之sqlite3使用实例
Nov 25 Python
Python实现测试磁盘性能的方法
Mar 12 Python
详解Python中with语句的用法
Apr 15 Python
利用Python批量提取Win10锁屏壁纸实战教程
Mar 27 Python
Python中交换两个元素的实现方法
Jun 29 Python
Python函数中不定长参数的写法
Feb 13 Python
用Python画一个LinkinPark的logo代码实例
Sep 10 Python
NumPy中的维度Axis详解
Nov 26 Python
Python3 shelve对象持久存储原理详解
Mar 23 Python
Python不支持 i ++ 语法的原因解析
Jul 22 Python
python实现猜拳游戏项目
Nov 30 Python
从np.random.normal()到正态分布的拟合操作
Jun 02 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入门小知识
2008/03/24 PHP
PHP通过加锁实现并发情况下抢码功能
2016/08/10 PHP
PHP多维数组指定多字段排序的示例代码
2018/05/16 PHP
PHP htmlspecialchars()函数用法与实例讲解
2019/03/08 PHP
Ajax 数据请求的简单分析
2011/04/05 Javascript
关于js拖拽上传 [一个拖拽上传修改头像的流程]
2011/07/13 Javascript
jQuery UI Autocomplete 1.8.16 中文输入修正代码
2012/04/16 Javascript
jquery 多行文本框(textarea)高度变化
2013/07/03 Javascript
jquery取消选择select下拉框示例代码
2014/02/22 Javascript
js操作iframe父子窗体示例
2014/05/22 Javascript
jQuery源码解读之removeClass()方法分析
2015/02/20 Javascript
JS获取及设置TextArea或input文本框选择文本位置的方法
2015/03/24 Javascript
jquery插件uploadify多图上传功能实现代码
2016/08/12 Javascript
javascript ES6中箭头函数注意细节小结
2017/02/17 Javascript
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
2017/03/02 Javascript
js+css实现打字效果
2020/06/24 Javascript
express.js中间件说明详解
2019/03/19 Javascript
koa2 数据api中间件设计模型的实现方法
2020/07/13 Javascript
jQuery实现异步上传一个或多个文件
2020/08/17 jQuery
express异步函数异常捕获示例详解
2020/11/30 Javascript
python 字典(dict)遍历的四种方法性能测试报告
2014/06/25 Python
python实现颜色rgb和hex相互转换的函数
2015/03/19 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
2019/07/05 Python
Python中*args和**kwargs的区别详解
2019/09/17 Python
python ctypes库2_指定参数类型和返回类型详解
2019/11/19 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
CSS3中:nth-child和:nth-of-type的区别深入理解
2014/03/10 HTML / CSS
简历中个人求职的自我评价模板
2013/11/29 职场文书
创业计划书如何编写
2014/02/06 职场文书
高中毕业自我评价
2014/02/08 职场文书
《阳光》教学反思
2014/02/23 职场文书
小学毕业感言500字
2014/02/28 职场文书
《池塘边的叫声》教学反思
2014/04/12 职场文书
护理专业自我评价
2015/03/11 职场文书
结婚堵门保证书
2015/05/08 职场文书
小学生禁毒教育心得体会
2016/01/15 职场文书