Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用字符串在Python中创建变量名及其值_Python_Django_String - Fatal编程技术网

使用字符串在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 = &

我有一个python字符串

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 unpacking
locals()[field\u name]=value
创建变量时不使用issues@SardorbekImomaliev同意,但这是一个解决方案
exec
可能非常不安全。有一种更好的方法,使用dict unpacking
locals()[field\u name]=value
创建变量时不使用issues@SardorbekImomaliev同意,但这是一个解决方案不要这样做,没有必要不要这样做,没有必要