سؤال

لقد كنت أستخدم Django لأكثر من عام، لكنني أعتقد أنني فاتني بعض الشيء الأساسي للغاية. لدي استنساخ كبير نوعا ما (1000+ كائنات) وأرغب في تغيير سمة واحدة لكل من الكائنات في هذا الاستعلام. هل هذه هي حقا طريقة للذهاب؟ أنا متأكد من وجود شيء أبسط؟

for obj in qs:
  obj.my_attr = True 
  obj.save()

شكرًا

هل كانت مفيدة؟

المحلول

يمكنك فقط القيام بالتغييرات بكميات كبيرة، على الرغم من أن هذا لن يطلق النار على النموذج save() الاحتياطات:

MyModel.objects.filter(..).update(my_attr=True)

توثيق: تحديث كائنات متعددة في وقت واحد

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top