使用字符串在Python中创建变量名及其值
我有一个python字符串使用字符串在Python中创建变量名及其值,python,django,string,Python,Django,String,我有一个python字符串 field_name = "status" value = "joined" 我想把这个字符串转换成变量名,比如 status = "joined" 我的订单是Django ORM model.objects.filter(status = 'joined') 你对此有什么建议吗 这里我引用了这个URL 但这里发生的只是整数。 不适用于字符串类型的值 有人帮我吗?试试这个 field_name = &
field_name = "status"
value = "joined"
我想把这个字符串转换成变量名,比如
status = "joined"
我的订单是Django ORM
model.objects.filter(status = 'joined')
你对此有什么建议吗
这里我引用了这个URL
但这里发生的只是整数。
不适用于字符串类型的值
有人帮我吗?试试这个
field_name = "status"
value = "joined"
exec(f'{field_name} = "{value}"')
试试这个
field_name = "status"
value = "joined"
exec(f'{field_name} = "{value}"')
仅对于Django ORM,您可以将参数作为字典传递:
field_name = "status"
value = "joined"
filter_params = {
field_name: value
}
model.objects.filter(**filter_params)
或者只是:
field_name = "status"
value = "joined"
model.objects.filter(**{field_name: value})
有关解压缩字典的详细信息,请参阅。仅对于Django ORM,您可以将参数作为字典传递:
field_name = "status"
value = "joined"
filter_params = {
field_name: value
}
model.objects.filter(**filter_params)
或者只是:
field_name = "status"
value = "joined"
model.objects.filter(**{field_name: value})
有关解压缩词典的详细信息,请参阅。
exec
可能非常不安全。有一种更好的方法,使用dict unpackinglocals()[field\u name]=value
创建变量时不使用issues@SardorbekImomaliev同意,但这是一个解决方案exec
可能非常不安全。有一种更好的方法,使用dict unpackinglocals()[field\u name]=value
创建变量时不使用issues@SardorbekImomaliev同意,但这是一个解决方案不要这样做,没有必要不要这样做,没有必要