Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django更新跨越关系_Django_Django Queryset_Django Related Manager - Fatal编程技术网

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

我想运行一个跨越多个关系的更新查询。对于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)
来自Django

update()方法会立即应用,并且对 更新的查询集是,它只能更新 模型的主表,不在相关模型上


所以,答案不是,你不能那样做

好眼力。我很惊讶我没有看到这一点。我会在6分钟内接受。
Entry.objects.update(blog__name='foo') # Won't work!