django - 带有列名和值的 Django 模型数据动态
问题描述
在 django 以动态方式创建新记录时出错,ID 是预期编号但得到 'OrderNo= "Order No", OrderSuffix= "Order Suffix", Reference= "Reference", ItemCode= "Item Code", QtyOrdered= "Qty Ordered ", QtyShipped = "发货数量", Warehouse = "仓库", DispatchDate = "发货日期", TrackingNo = "跟踪编号", CarrierCode = "承运人代码"'
但是如果我把这个字符串放在它工作正常的下面
data = shipment(OrderNo= "Order No", OrderSuffix= "Order Suffix", Reference= "Reference", ItemCode= "Item Code", QtyOrdered= "Qty Ordered", QtyShipped= "Qty Shipped", Warehouse= "Warehouse", DispatchDate= "Dispatch Date", TrackingNo= "Tracking No", CarrierCode= "Carrier Code") #shipment is the model
for row in table:
ind = 0
rowdata = ''
for col in config['header_columns']:
rowdata += col['title'] + '= "' + row[ind] + '"' + ', '
ind = ind + 1
rowdata = rowdata[:-2]
#return HttpResponse(rowdata)
data = shipment(rowdata) #shipment is the model
data.save(using="integration")
这意味着如果我直接放入创建的字符串变量使其动态显示“ID”需要一个数字,但如果我把它完全工作正常则字符串。
任何人都可以帮助我。在此先感谢。
解决方案
生成一个看起来像 Python 代码的字符串是行不通的。您想生成一个dict
然后将其解压缩为单独的参数,例如:
for row in table:
rowdata = dict((col['title'], i) for col, i in zip(config['header_columns'], row))
data = shipment(**rowdata)
推荐阅读
- c# - 当拖动文本并在鼠标悬停以将其放入 TextBox 时,增加 TextBox 大小并在其他控件上重叠
- r - R中的Web Scraping readHTMLTable错误与函数
- kubernetes - Kubernetes 无法在 Auto Scaling GKE 节点池中的节点上调度 Daemonset pod
- types - 为什么 Rust 的 u64.pow 期望 u32?
- java - 将方案翻译成java
- python - 将 4 个 uint_8 值转换为 python 中的浮点数
- ruby-on-rails - 如何阻止 Rails globalize 在一个字段上回退到回退语言环境?
- parsing - 如何修复我的 ANTLR 解析器以将注释与乘法分开?
- javascript - 无法在 mat-select 中更新 inputCtrlState 的值
- json - 如何找到对话委托的引出槽 id