为了账号安全,请及时绑定邮箱和手机立即绑定

Django能否在filter或get等的时候条件名(field name)是个变量?

Django能否在filter或get等的时候条件名(field name)是个变量?

一只萌萌小番薯 2018-08-26 15:12:57
比如筛选一个modelmodels.objects.get(***field_name***=conditions)我的问题是field_name能不能是个变量的结果? 例如field_list = {'field_name': name} models.objects.get(field_list['field_name']=conditions) 或者 field_list = [name, age, gender, ...] models.objects.get(field_list[0]=conditions)请问各位有方法能实现这样的效果么? 我目前尝试的方法例如getattr等都没有效果
查看完整描述

1 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

var = "field_name"field_list = {var:conditions}# field_list {"field_name":conditions}models.objects.get(**field_list)# models.objects.get(**field_list) = models.objects.get(key=conditions)

**kwargs会将字典中的kv键值对按照k=v的格式作为函数的参数.字典的key是可以通过变量设置的,当然必须是字符串.


查看完整回答
反对 回复 2018-08-27
  • 1 回答
  • 0 关注
  • 1284 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信