django foreignkey外键使用的例子相当于加入

  

<强> django外键使用一对一

  

因为django中处于安全和方便将数据库中的表封装成模型,所以很多sql原生的功能无法使用,比如左连接,但是我们可以使用外键(foreignkey)来满足表表直接的关系。

  

<强>设置模型

        #在模型。py中添加   #人模型有两个外键,学校和省   #   类省(models.Model):   name=模型。CharField(“省份”,max_length=10)   帖子=模型。CharField(“邮编”,max_length=10)   def __str__(自我):#在Python2中用__unicode__替换__str__   返回self.name      #类School_Type (models.Model):   # school_type=models.CharField(“学校类别”)      类学校(models.Model):   id=模型。IntegerField(“学校编号’,primary_key=True)   name=模型。CharField(“学校名称,max_length=200)   地址=模型。CharField(“学校地址”,max_length=200)      def __str__(自我):#在Python2中用__unicode__替换__str__   返回self.name               类人(models.Model):   name=模型。CharField(“姓名”,max_length=50)   年龄=models.IntegerField('年龄”)   地址=模型。CharField(“地址”,max_length=100)   电子邮件=models.EmailField(“电子邮件”)   学校=models.ForeignKey(学校,>   #因为形式的字段跟模型的字段相同,所以我们直接使用ModelForm      类PersonForm (ModelForm):   类元:   模型=人   字段=' __all__ '   之前      

<>强保存

        的观点。py中的视图,可以直接使用form.save()来保存形式      def人(要求):   如果request.POST:   形式=PersonForm (request.POST)      如果form.is_valid ():   p=form.save ()   返回HttpResponse(请求,“成功”)   其他:   返回HttpResponse(请求,“失败”)   其他:   形式=PersonForm ()   person_list=Person.objects.all ()   # school_list=person_list.School_set.all ()   返回渲染(请求,”的人。html的,当地人())   之前      

<强>模版person.html

  

可以在模版中使用的人。外键字段。外键表属性来显示数据,比如person.school.province.post

        {%延伸的基础。html ' %}      {%块内容%}      & lt;形式行动=啊!狈椒?癙OST”比;   {% csrf_token %}   {{形式}}   & lt;输入类型=疤峤弧眝alue=' https://www.yisu.com/zixun/submit '/比;      & lt;/form>      {# #}   {%人在person_list %}      & lt; p>名称:{{person.name}};年龄:{{人。年龄}};学校:{{person.school}}   {{person.province。帖子}}   & lt;/p>   {% endfor %}   {{{school_list}} # #}      {% endblock %}   之前      

以上这篇django foreignkey外键使用的例子相当于左加入就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

django foreignkey外键使用的例子相当于加入