python - 我可以在 getattr() 中为相关模型传递一个变量吗?
问题描述
所以这有效:
field_name = 'msrp'
price = getattr(mymodel.related_model, field_name)
但我想为“related_model”传递一个变量,例如:
field_name = 'msrp'
x = related_model_name
price = getattr(mymodel.x, field_name)
显然这不起作用,但它显示了我想要完成的事情。有没有办法以某种方式将变量作为相关模型名称的占位符传递?
解决方案
没有多大意义,因为这price = getattr(mymodel.related_model, 'msrp')
意味着price = mymodel.related_model.msrp
. 如果名称related_model
存储在变量中,则可以使用getattr(…)
[python-doc]获取相关的模型对象:
x = related_model_name
price = getattr(mymodel, x).msrp
或者如果两者都是字符串,您可以使用getattr
两次:
x = related_model_name
msrp = field_name
price = getattr(getattr(mymodel, x), msrp)
推荐阅读
- .net - vb 在不打开新表单(或窗口)的情况下显示另一个页面
- excel - excel/电子表格网格的术语
- rabbitmq - RabbitMQ 和 Camel 2.21.1 自动确认,即使 autoAck=false
- python - 在 Python 3 中提高 FPS(使用 Pygame 渲染数千种东西)
- powershell - 使用Powershell在资源组中的资源上实现标签
- php - CSV 数据未写入数据库、SuiteCRM、自定义导入脚本
- ios - NSOperation 崩溃
- angular5 - _lazy_route_resource 惰性命名空间对象
- android - 实用地连接到 HID 键盘设备作为 android 中的输入设备
- r - R中的包Arules:在交易中附加列