Django 管理员以添加形式预编译一个字段,其中包含当前登录的用户



在我的django应用程序中,我有一个这样的模型:

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")

好吧,当我进入我的管理界面广告添加一行时,我会让字段所有者 (models.ForeignKey('auth.User', related_name='tcase_owner', on_delete=models.CASCADE, verbose_name="API Owner"( 将自动默认填充当前登录的用户,而不是每次手动选择它。

我必须管理我的 admin.py 文件? 还是直接进入模型?

提前非常感谢

覆盖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)

最新更新