2015-01-03 76 views
0

我想学习Django,所以我几乎是一个noob。Django更新字段

我一直在试图做两小时以下的简单任务。我知道我有错误的语法,但搜索谷歌& SO没有帮助我,所以我需要一些建议。

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

这里是我的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') 

借口简单的问题,但我无法得到这个正确的。

回答

1

您需要更新实例中的字段(不在类中)并调用save()该实例的方法。

language_version.language_code_disabled = False 
language_version.save() 
+0

catavaran - 谢谢。我可以看到我正在犯的错误。我现在看到我必须调用save()。我认为这是自动完成的。现在我知道更好。 – user4307426