1
yueyoum 2014-04-25 16:54:28 +08:00 1
Model_foo.objects.filter(pk=some_pk).update(**dict_A)
|
2
yueyoum 2014-04-25 16:55:09 +08:00 1
当然,A 的key 只能是 Model_foo的 fields, 如果有key不是,自己去除
|
4
allenling 2014-04-26 00:28:24 +08:00 1
不是有个save(update_fields=[some_fields])吗?
|
5
yueyoum 2014-04-26 14:33:35 +08:00 1
@magine
没记错的话, update 只能用在 queryset 上, get 获取的是单个对象 不是 queryset ,所以不能用。 filter().update() 就行, 翻译成 SQL就是 update TABLE set A=1, B=2 where id = ... |
6
magine OP @yueyoum
theType, created = Type.objects.get_or_create( num=new_type_dic['num'], defaults=dict( name=new_type_dic['name'], manufacturer=new_type_dic['manufacturer'], pattern=new_type_dic['pattern'], standard=new_type_dic['standard'], )) if created==True: info['new_type_num'] = theType.num else: Type.objects.filter(num=theType.num).update(new_type_dic) 先检查是否已有设备类型(Type),如果没有就新建,并在info中留下记录,否则就用字典数据更新。 这样写有没有冗余?或者说不合理? |
7
magine OP |
8
37Y37 2018-07-11 09:02:34 +08:00
__dict__.update 了解一下
|