1
yueyoum 2014 年 4 月 25 日 Model_foo.objects.filter(pk=some_pk).update(**dict_A)
|
2
yueyoum 2014 年 4 月 25 日 当然,A 的key 只能是 Model_foo的 fields, 如果有key不是,自己去除
|
4
allenling 2014 年 4 月 26 日 不是有个save(update_fields=[some_fields])吗?
|
5
yueyoum 2014 年 4 月 26 日 @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 年 7 月 11 日
__dict__.update 了解一下
|