Django将登录的登录用户保存为外键
Posted
技术标签:
【中文标题】Django将登录的登录用户保存为外键【英文标题】:Django saveing logged in logged in user as ForeignKey 【发布时间】:2021-09-02 23:30:05 【问题描述】:我有一个带有外键“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,))
【问题讨论】:
【参考方案1】:您可以执行以下操作:
class AssetLogForm(forms.ModelForm):
class Meta:
model = AssetLog
fields = ('log_written_by ', '...,')
widgets = 'log_written_by ': forms.HiddenInput()
请参阅此相关 *** 帖子 here。
【讨论】:
以上是关于Django将登录的登录用户保存为外键的主要内容,如果未能解决你的问题,请参考以下文章