我想做这样的事情:
class Task(models.Model):
...
created_by = models.ForeignKey(User, **default=[LoggedInUser]** blank=True, null=True, related_name='created_by')
Run Code Online (Sandbox Code Playgroud)
这可能吗?除了在视图中执行request.user之外,我无法找到获取登录用户的正确方法,这在此处似乎不起作用.
PS_我意识到我可以通过其他方式初始化Model数据,但我认为这是最干净的方法.
我正在使用Django模型为表单创建字段.我希望自动检测用户的用户名并填写,这样我就可以将其隐藏在我的表单中(而不是让他们从包含每个用户名的长列表中选择他们的用户名).为此,我使用:
current_user = request.user
Run Code Online (Sandbox Code Playgroud)
然后将默认值设置为current_user.但是,我不断收到此错误:
NameError: name 'request' is not defined
Run Code Online (Sandbox Code Playgroud)
我假设你不能在Django模型中使用请求,但无论如何都可以解决这个问题?这是我的models.py文件的相关部分:
class StockTickerSymbol(models.Model):
StockName = models.CharField(max_length=7, unique=True)
current_user = request.user
user = models.ForeignKey(User, default=current_user)
Run Code Online (Sandbox Code Playgroud)
任何人都知道如何在我的模型中使用请求,或以某种方式调用变量current_user?