![](/img/trans.png)
[英]Django - How do I populate the user field of a model by default in the admin panel based on the current user logged in?
[英]Django admin precompile a field with current logged in user in add form
在我的 django 应用程序中,我有一个像这样的 model:
class temp_case(models.Model):
id = models.AutoField(primary_key=True)
main_id = models.ForeignKey(temp_main, related_name="tm_tc", on_delete=models.CASCADE, verbose_name="Main Template")
descr = models.CharField(max_length=200, verbose_name="Case description")
dt = models.DateTimeField(auto_now=True, verbose_name="Created")
owner = models.ForeignKey('auth.User', related_name='tcase_owner', on_delete=models.CASCADE, verbose_name="API Owner")
好吧,当我在管理界面广告中添加一行 go 时,我会将该字段所有者( models.ForeignKey('auth.User', related_name='tcase_owner', on_delete=models.CASCADE, verbose_name="API Owner"
)自动默认填充当前登录用户而不是 select 每次手动。
我必须管理我的 admin.py 文件吗? 还是直接进入model?
非常感谢
覆盖ModelAdmin.get_changeform_initial_data
:
#admin.py
class TempCaseAdmin(models.ModelAdmin):
def get_changeform_initial_data(self, request):
return {'owner': request.user}
admin.site.register(temp_case, TempCaseAdmin)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.