django - Django:在一个模型中,我使用用户模型作为外键,我想在创建模型时自动填充用户名
问题描述
class ReplyPost(models.Model):
topic = models.ForeignKey(CreatePost, blank=True,null=True, related_name='subject_post', on_delete=models.CASCADE)
#message = models.TextField(validators=[validate_post_word_count])
message = models.TextField()
create_reply_date = models.DateTimeField(auto_now_add=True)
update_reply_date = models.DateTimeField(auto_now=True)
reply_by = models.ForeignKey(User, blank=True, null=True, related_name='replier_post', on_delete=models.CASCADE)
我有这个模型,在创建replyPost 我想用当前用户填充reply_by
我试过了:
form.cleaned_data['created_by'] = request.username
保存表单后,它没有保存用户名。
在已打印的表单中,它将此字段显示为标签..如何填写在 Django 表单中选择的内容
解决方案
您是否尝试过使用 commit=False?它允许您在保存之前对表单进行更改。
comment = form.save(commit=False)
comment.reply_by = request.user
comment.save()
顺便说一句,下次使用代码块(```)
推荐阅读
- docker - 使用 Docker 和 Docker-Swarm 运行 Symfony 5 项目的最佳实践
- jmeter - 使用 JMeter 确定服务器是否可以在一分钟内处理 100 个用户
- c# - 如何在 azure http 触发函数中读取 JSON 响应的属性?
- javascript - Javascript Map - 按键删除项目并更新值
- excel - VBA - 删除以前保存的值
- javascript - Object.create 的原始定义是什么?
- java - 扫描特定进程的声音
- typescript - 使用 svelte 将单选组绑定到布尔值
- javascript - 如何在 React 中触发页面加载事件?
- c - 是 UB 将指针转换为 uint8_t 以读取 uint32_t 值吗?