我想运行一个跨越多个实现的更新查询。这可能与django?这就是我的尝试:
from django.db.models import F
Transaction.objects.filter(pk__lt=10).update(
page__total_earned=F('page__total_earned')+5,
page__profile__balance=F('page__profile__balance')+5
)
以下是我的模型的一瞥,以防您想知道:
class Transaction(models.Model):
page = models.ForeignKey(Page, related_name='transactions', null=True, blank=True)
class Page(models.Model):
profile = models.ForeignKey('Profile', related_name='pages', blank=True, null=True)
total_earned = models.IntegerField(default=0)
class Profile(models.Model):
balance = models.IntegerField(default=0, db_index=True)
答案 0 :(得分:0)
来自Django docs。
Entry.objects.update(blog__name='foo') # Won't work!
立即应用update()方法,并且唯一的限制是 更新的QuerySet是它只能更新中的列 模型的主表,而不是相关模型
所以答案不是,你不能这样做。