小编Ada*_*erz的帖子

Django更新queryset以更改ForeignKey的ID

我试图更新一堆对象的id和引用对象的相关表.

class Test(models.Model):
    id=models.IntegerField(primary_key=True)

class Question(models.Model):
    id=models.AutoField(primary_key=True)
    test=models.ForeignKey('Test',db_column='testId')


d={1:2,5:10}

for fr,to in d.items():
    Test.objects.filter(id=fr).update(id=to)
    Question.objects.filter(test_id=fr).update(test_id=to)
Run Code Online (Sandbox Code Playgroud)

我曾尝试test_id,test__idtestId但得到这个错误信息:

django.db.models.fields.FieldDoesNotExist: Question has no field named 'test_id'
Run Code Online (Sandbox Code Playgroud)

这目前可能吗?

编辑:我宁愿不必Test为每个id更改加载对象.

python django django-queryset

11
推荐指数
2
解决办法
1万
查看次数

标签 统计

django ×1

django-queryset ×1

python ×1