例如,我有一个模型:
class Model1(models.Model):
is_free = models.BooleanField(default=True)
rel_object = models.ForeignKey(Model2, null=True, default=None)
有些对象被设置为" free"。我想获得第一个并将其设置为" not free"线程安全(我需要保证其他线程不能在同一时刻更改此对象):
model1 = Model1.objects.filter(is_free=True).first()
model1.is_free = False
model2.rel_object = model2
model2.save()
怎么做?