gpt4 book ai didi

python - 为什么我的 Django 应用程序模型的字段值没有改变?

转载 作者:太空宇宙 更新时间:2023-11-04 10:52:17 24 4
gpt4 key购买 nike

我正在开发一个类似于教程的基本 Django 应用程序。我尝试在创建和保存 poll 后更改它的值,但我做不到。除了 .save() 之外,我还尝试使用 .commit() 并且这也没有用。这是我尝试从 shell 更改内容时的样子。通过 HTML 时结果类似(即失败)。有什么建议么?我已经尝试将模型中字段的属性更改为 editable=true ,这不会导致任何错误,但也没有帮助。知道这里会发生什么吗?

>>> from votes.models import polls
>>> polls.objects.all()[2].title
u'best band'
>>> polls.objects.all()[2].title='best album'
>>> polls.objects.all()[2].title
u'best band'
>>> polls.objects.all()[2].title='best album'
>>> polls.objects.all()[2].save()
>>> polls.objects.all()[2].title
u'best band'

最佳答案

每次您调用 polls.objects.all() 时,您都会从数据库中获得一个重构对象数组 - 每次您调用 .all() 时,它为您再次从数据库中重建它们,创建一个新副本。您正在修改其中一个,但没有保存您修改过的那个。

你在做什么:

>>> from votes.models import polls
>>> poll = polls.objects.all()[2]
>>> poll.title = 'best album'
>>> poll.title
'best album'
>>> another_copy_of_poll = polls.objects.all()[2]
>>> another_copy_of_poll.title
u'best band'
>>> another_copy_of_poll.save()

你应该做什么:

>>> from votes.models import polls
>>> poll = polls.objects.all()[2]
>>> poll.title = 'best album'
>>> poll.title
'best band'
>>> poll.save()

关于python - 为什么我的 Django 应用程序模型的字段值没有改变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12994246/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com