Django保存更改到Database



我正在尝试更新模型user_profileis_admin列。我在views.py中编写了以下代码,但它没有在DB中更新。如何保存更改(user_object[0])。is_admin = True)到数据库?

def post(self, request, format=None):
users_provided = request.data.get('user_ids')
for each_user in users_provided:
user_object = UserProfile.objects.filter(user__is_active=True, user_id=each_user)
if (user_object.exists()):
user_object[0].is_admin = True
user_object.update()

您可以使用:

def post(self, request, format=None):
users_provided = request.data.get('user_ids')
for each_user in users_provided:
user_object = UserProfile.objects.filter(user__is_active=True, user_id=each_user)
user_item =user_object.first()
if user_item:
user_item.is_admin = True
user_item.save()
我们可以通过这样写来显著提高效率:
def post(self, request, format=None):
users_provided = request.data.get('user_ids')
UserProfile.objects.filter(
user__is_active=True,
user_id__in=users_provided
).update(is_admin=True)

使用user_object[0].save():

if (user_object.exists()):
user_object[0].is_admin = True
user_object[0].save()

最新更新