这篇文章主要介绍了姜戈外国钥匙(外键)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
外键是一种关联字段,将两张表进行关联的方式,我们在dodels.py里写入要生成的两张表:
类别用户组(型号。型号):
uid=模型AutoField(primary_key=True)
标题=模型CharField(max_length=64,null=True)
ctime=模型DateField(auto_now_add=True,null=True)
正常运行时间=型号DateField(auto_now=True,null=True)
类用户信息(型号。型号):
用户名=型号CharField(max_length=32,blank=True)
密码=型号FileField(max_length=60,help_text=pwd )
邮件=模特CharField(max_length=60)
测试=模型EmailField(max_length=20,null=True,error _ messages={ invalid : shurumima })
user _ group=模型ForeignKey(用户组,to_field=uid ,默认值=1) #这里与上面的用户组表的用户界面设计(用户界面设计的缩写)进行关联,默认取到uid=1的行)
用户类型选择=(
(1,"超级用户"),
(2,"普通用户"),
(3,“com-commonuser”),
)
用户类型标识=模型整型字段(choices=user _ type _ choices,默认值=1)
运行下面两条命令:
C:UsersLiujiangbu .global e . 001 PycharmProjects untitled 3 python manage。py进行迁移
C:UsersLiujiangbu .global e . 001 PycharmProjects untitled 3 python manage。py迁移
编辑应用项目的views.py加入下面两段:
定义用户信息(请求):
if request.method==GET :
#userlist=test.objects.all()
用户列表2=型号Userinfo.objects.all() #获取用户信息表的所有信息
# return render(请求, userinfo.html ,{ 用户列表:用户列表})
return render(请求, userinfo.html ,{ 用户列表2 :用户列表2}) #模板引用
elif request.method==POST :
u=请求. POST.get(用户)
pp=请求POST.get(pwd )
#测试.对象.创建(用户名=u,部门号=pp)
模特Userinfo.objects.create(用户名=u,密码=pp,用户组id=1)
返回HttpResponse(p注册成功/p )
模板中创建userinfo.html,并加入下面内容:
!文档类型超文本标记语言
超文本标记语言
头
meta charset=utf-8
title666666(runoob.com)/title
/头
body style=背景色:银色
差异
div style=color:#00FF00
a class= menu href=/home-bak rel=外部无跟随是爷们儿就点下/a
br/a class= menu href=/group rel= external no follow 是爷们儿就洅点下/a
/div
div style=color:#666644
h3添加主机/h3
form method= POST action=/userinfo
输入类型= hidden name= csrfmiddlewaretoken value= { { csrf _ token } }
输入类型=文本名称=用户
输入类型=文本名称=密码
输入类型=提交名称=添加
/表单
h3主机列表/h3
保险商实验所
{% for i in userlist2 %}
lia href=/datail rel=外部no follow“{ I . username } }/a
span { { I .用户组。caption } }/span
/李
{% endfor %}
/ul
/div
/div
/body
/html
然后添加网址:
执行项目:
在空白处写入内容,会自动添加到数据库中:
表中的工商管理学博士(工商管理博士)就是通过外键关联获取到了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。