Django更新跨越关系
我想运行一个跨越多个关系的更新查询。对于django,这可能吗?这就是我尝试过的:Django更新跨越关系,django,django-queryset,django-related-manager,Django,Django Queryset,Django Related Manager,我想运行一个跨越多个关系的更新查询。对于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 ) 以下是我的模型,以防您产生疑问: cla
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)
来自Django
update()方法会立即应用,并且对
更新的查询集是,它只能更新
模型的主表,不在相关模型上
所以,答案不是,你不能那样做 好眼力。我很惊讶我没有看到这一点。我会在6分钟内接受。
Entry.objects.update(blog__name='foo') # Won't work!