Django -如何在点击行后从el-table中获取相应的行值?

xxls0lw8  于 2023-02-25  发布在  Go
关注(0)|答案(1)|浏览(214)

我在Django中创建了一个表,当点击行时,对应行的记录应该被POSTED到*view_doctor. py*中的函数"*medicineRequestSelect"。但是,它无法提取该行的值,如Image 1所示。它返回None值。
我是相对较新的网络开发和任何帮助或建议将不胜感激!

**<doctor_emr.html>

{% block mainbody%}

{% verbatim %}

<div id="app2" class="container">
  <div class="emr-table">
    <el-table
      ref="multipleTable"
      :data="list"
      stripe
      style="width: 50%"
      @row-click="handle"
      @selection-change="handleSelectionChange">
         
      <el-table-column
        prop="id"
        label="Index">
      </el-table-column>
      <el-table-column
        prop="order_id"
        label="Order ID">
      </el-table-column>
      <el-table-column
        prop="ward_number"
        label="Ward No.">
      </el-table-column>

      <el-table-column 
        prop="prop" 
        label="Scan QR" 
        width="width">

        <template slot-scope="{row$index}">
          <el-button @click="onScanQR(row)" type="warning" icon="el-icon-camera" size="mini">Scan</el-button>
        </template>

      </el-table-column>

    </el-table>
  </div>
</div>
{% endverbatim %}

<script>
    new Vue({
        el: '#app2',
        data() {
            return {
            list: []
        }
        },
        mounted() {
        this.getemrList()
        },
        methods: {
            getemrList() {
            // Obtain EMR list
            axios.post(ToDJ('emrList'), new URLSearchParams()).then(res => {
                if (res.data.code === 0) {
                    console.log(res.data.data)
                    this.list = res.data.data
                } else {
                    this.NotifyFail(res.data.data)
                }
            })
            },

            // Purpose: For the row click
            handle(row, event, column) {
              console.log(row, event, column)
              axios.post(ToDJ('medicineRequestSelect'), new URLSearchParams()).then(res => {
                if (res.data.code === 0) {
                  console.log(res.data.data)
                  this.list = res.data.data
                  let index = this.list.findIndex(item => {
                    return item.id == row.id
                  })
                  if (index == -1) {
                    this.$refs.multipleTable.toggleRowSelection(row, true);
                    this.list.push(row)
                  } else {
                    this.$refs.multipleTable.toggleRowSelection(row, false);
                    this.list.splice(index, 1)
                  }

                  } else {
                    this.NotifyFail(res.data.data)
                  }
                })  
              },
            
            onScanQR(row) {
              this.dialogFormVisible = true;
              this.tmForm={...row}
            },

            // Success notification
            NotifySuc(str) {
                this.$message({
                    message: str,
                    type: 'success'
                })
            },
            // Error notification
            NotifyFail(str) {
                this.$message({
                message: str,
                type: 'warning'
            })
            }
        }
    })
</script>
{% endblock %}

**<view_doctor.py>

@api_view(['GET',"POST"])
def medicineRequestSelect(request):
  
  id = request.POST.get('id')
  order_id = request.POST.get('order_id')
  ward_number = request.POST.get('ward_number')
  print("Values: ", id, order_id, ward_number)
  
  return Action.success()
    • 图1:获得的输出**

    • 图像2:表I创建**

xzv2uavs

xzv2uavs1#

我也在学习,我试着通过帮助别人的问题来进步。
首先,你从哪里获得数据?从你的模型那里?
因此,如果我理解正确的话,您应该导入要从中获取数据的模型,然后使用您的模型对其进行查询。
模型= * 您的模型的名称 *.对象.all()
然后你就可以用q
PS:我还在学习中,我很想看看有经验的人的答案

相关问题