每次创建新模型实例时,我想保存用户的语言:
模型.py:
def getlanguage(request):
lang = request.LANGUAGE_CODE
return lang
class Comment(models.Model):
language = models.CharField(max_length=100, blank=True, default=getlanguage)
Django 生成以下错误:TypeError: getlanguage() 需要 1 个参数(给定 0)
如何将请求传递给函数?
谢谢!
您的保存方法需要像这样被覆盖。
class Comment(models.Model):
language = models.CharField(max_length=100, blank=True, default='')
def save(self, *args, **kwargs):
default_language = kwargs.pop('default_language', None)
if not self.language and default_language is not None:
self.language = default_language
super(Comment, self).save(*args, **kwargs)
您可以在视图中的对象上调用 save() 时传递参数
comment = Comment()
comment.save(default_language=request.LANGUAGE_CODE)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句