[英]Save user language in a model through default() with Django
我想在每次創建新的模型實例時保存用戶的語言:
models.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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.