Django 更新字段

Django update field

我正在努力学习 Django,所以我几乎是个菜鸟。

我已经尝试完成以下简单任务两个小时了。我知道我的语法有误,但搜索 Google & SO 对我没有帮助,所以我需要一些建议。

我正在尝试从 Django 模板更新数据库字段,但我需要帮助来了解如何更新 中的 language_code_disabled LanguageVersions views.py 下面的代码。

这是我的 models.py 文件代码:

class LanguageVersion(models.Model):
    """Language version selection for a user"""
    user = models.ForeignKey(User)
    language_code = models.CharField(max_length=32)
    language_code_disabled = models.BooleanField(default=False)

def __unicode__(self):
    return unicode(self.language_code)

这是我的 views.py 代码:

@login_required
def language_versions_enable(request):
    if request.method == 'POST':
        language_version = LanguageVersion.objects.get(pk=language_version_id, user=request.user)
    # don't enable Language Version for currently selected language preference.
    if language_version.language_code != request.user.userprofile.language_preference:
        if language_version.language_code_disabled == True:
            # if the users Language Version is disabled, enable the disabled Language Version.
            LanguageVersion.language_code_disabled = False  # THIS IS THE LINE OF CODE I DO NOT UNDERSTAND HOW TO WRITE!
            messages.success(request,_('successfully enabled.'))
    return redirect('language_versions')

请问这个简单的问题,但我无法正确回答。

您需要更新实例中的字段(而不是 class 中的字段)并调用此实例的 save() 方法。

language_version.language_code_disabled = False
language_version.save()