Django 表操作时 字段名为变量

本文介绍了使用ORM在Python中对数据库进行搜索和更新的具体方法,包括如何通过filter和get方法结合字典参数实现条件筛选,以及如何利用update方法和setattr函数进行字段内容的更新。

搜索

searchList=Student.objects.filter(**{searchkey:searchvalue})

searchkey 这个变量必须是表中的一个字段
searchvalue 是你要比对的变量

searchList=Student.objects.get(**{searchkey:searchvalue})

同上
更新字段内容

Herb.objects.filter(name=name).update(**{data[parts_name]: questions})

另一种 方法为

setattr(herb, data[parts_name],questions)
herb.save()

setattr 是python 原生的对类的属性进行重写

getattr(herb, data[parts_name])

herb 是表名 可以理解为一个类 data[parts_name] 是个变量 对应表的一个字段名。 questions 需要写的内容

一下方法为实践 仅供参考

class ExampleModel(models.Model):
      the_field = models.CharField()
      the_field_two = models.CharField()


model = ExampleModel.objects.get(pk=1)
fieldtoget = 'the_field'
test_var = model[fieldtoget]



model[fieldtoget] = 'yo'
model.save()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值