繁体   English   中英

如何更新 Django 中的字段

[英]How to Update a field in Django

如果仅从前端发送名称,我想仅更新名称字段,如果仅从前端发送图像,则仅更新图像,如果从前端发送名称和图像,则更新两者在 Django

data =request.data

if data['name'] and data['image']:            
   category= Category.objects.get(id=data['id'])
   category.name=data['name']
   category.image=data['image']
   category.save()

elif data['name']:            
   category= Category.objects.get(id=data['id'])
   category.name=data['name']
   category.save()

else:            
   category= Category.objects.get(id=data['id'])
   category.image=data['image']
   category.save()

您可以构造一个只包含要更新的键值对的字典,然后使用.update(…) [Django-doc]来更新相应的Category记录:

categories = Category.objects.filter(id=data['id'])
updates = {}

if 'name' in data:
    updates['name'] = data['name']
if 'image' in data:
    updates['image'] = data['image']

if updates:
    categories.update(**updates)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM