django - Django将登录的登录用户保存为ForeignKey
问题描述
我有一个带有外键“log_written_by”的模型,我希望它是登录用户。
我应该如何在我的 forms.py 中将其声明为隐藏字段?
class AssetLog(models.Model):
# Relationships
log_written_by = models.ForeignKey("auth.User", on_delete=models.SET_NULL, blank=True, null=True)
asset_case = models.ForeignKey("asset_app.AssetCase", on_delete=models.CASCADE)
# Fields
date_time_log = models.DateTimeField()
notes = models.TextField(max_length=1024)
created = models.DateTimeField(auto_now_add=True, editable=False)
class Meta:
pass
def __str__(self):
return str(self.pk)
def get_absolute_url(self):
return reverse("asset_app_AssetLog_detail", args=(self.pk,))
def get_update_url(self):
return reverse("asset_app_AssetLog_update", args=(self.pk,))
解决方案
您可以执行以下操作:
class AssetLogForm(forms.ModelForm):
class Meta:
model = AssetLog
fields = ('log_written_by ', '...,')
widgets = {'log_written_by ': forms.HiddenInput()}
在此处查看相关的 StackOverflow 帖子。
推荐阅读
- youtube - 如何以编程方式在 YouTube 上投放广告?
- kubernetes - 为什么我可以通过 minikube 中的 ClusterIP 访问我的 Kubernetes 部署的应用程序?
- android - Android 上的 Freemarker GAE
- amazon-web-services - Terraform / Terragrunt 移除状态实际上并不移除状态
- php - 将 SQL 查询的输出值与数字进行比较
- python - Python 与文件 (xlsx) 的交互,其路径由在 Windows 或 MacOS 中工作的用户设置
- c# - 这是在 MVC5 IdentityServer 客户端应用程序中实现空闲超时的好方法吗?
- c - SDL_RenderDrawRect 少了一个像素
- list - 以某种顺序选择列表的元素并使用 R 存储在列表中
- puppeteer - 如何在 openSUSE Leap 42.3 上安装 puppeteer 依赖项?