前后端联调

外键查找:

后段:

class Teacherstudent(APIView):
# 反向查询必须用get 因为filter是一个结果集不能用
def get(self,request,pk):
# 要找id为9的学生
# 先找到id为9的老师
# 再找他明下的所以学生
t1=Teacher.objects.get(id=pk)
# stus就是我们获取的所以学信息
stus = t1.student_set.all()
ser = S(stus,many=True)
# 将stus转换为序列化

         return Response(ser.data)

前段:
老师页面:

        <router-link v-slot="{navigate}" :to="/DenVue2vue/+ mun.id " custom>
            <th @click="navigate">
                {{mun.name}}
            </th>
        </router-link>

注意学生页面的路由也有变化:
{
path: ‘/DenVue2vue/:id’,(加上了id)
name: ‘DenVue2vue’,
component: DenVue2vue
},

      学生页面:

 mounted(){
    console.log(this.$route.params.id)
    // 接收页面传过来的id让路由变为动态
    Axios.get('http://127.0.0.1:8000/teastu/' + this.$route.params.id + "/")
    .then(app=>{
        console.log(app)
        this.list = app.data
    }).catch(nii=>{
        console.log(nii)
    })

}

下拉框:
在vue添加学生页面写:

{{mun.name}}

// 因为是外键下啦框显示的是teacher表中的数据
// 所以要请求获取数据把名字渲染要下拉框中
mounted(){
get(‘/teacher/’)
.then(ioo=>{
console.log(ioo.data)
this.list = ioo.data
}).catch(njj=>{
console.log(njj)
})
},

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值