在Django中,可以通过以下方式获取在表中创建/编辑记录的用户名:
from django.contrib.auth.models import User
class YourModel(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
def get_username(self):
return self.user.username
在上述代码中,我们在模型中定义了一个外键字段user
,它关联到Django内置的User模型。然后,我们定义了一个get_username
方法,用于获取用户名。
CustomUser
,可以通过以下方式获取用户名:from your_app.models import CustomUser
class YourModel(models.Model):
user = models.ForeignKey(CustomUser, on_delete=models.CASCADE)
def get_username(self):
return self.user.username
request.user
来获取当前登录用户的实例。然后,你可以调用get_username
方法来获取用户名:from django.shortcuts import render
from your_app.models import YourModel
def create_or_edit_record(request):
if request.method == 'POST':
# 创建/编辑记录的逻辑
your_model = YourModel()
your_model.user = request.user
your_model.save()
# ...
else:
# 渲染表单页面
# ...
return render(request, 'your_template.html')
在上述代码中,我们将request.user
赋值给your_model.user
,然后保存模型实例。
通过以上步骤,你可以在Django表中创建/编辑记录时获取到用户名。请注意,以上代码仅为示例,实际应用中可能需要根据具体情况进行适当的修改和扩展。
推荐的腾讯云相关产品:腾讯云服务器(CVM)和腾讯云数据库(TencentDB)。你可以通过以下链接了解更多信息:
领取专属 10元无门槛券
手把手带您无忧上云