author = models.ForeignKey(User)
有没有办法将此字段的默认值设置为自动选择已登录用户? 我知道您可以在保存方法中执行此操作,但我的客户要求在编辑时自动默认为已登录用户,以避免混淆。
这篇文章介绍了如何在保存期间更新它,但不是在编辑时。
author = models.ForeignKey(User)
有没有办法将此字段的默认值设置为自动选择已登录用户? 我知道您可以在保存方法中执行此操作,但我的客户要求在编辑时自动默认为已登录用户,以避免混淆。
这篇文章介绍了如何在保存期间更新它,但不是在编辑时。
class MyModelAdmin(admin.ModelAdmin):
def formfield_for_foreignkey(self, db_field, request, **kwargs):
if db_field.name == 'author':
kwargs['initial'] = request.user.id
return super(MyModelAdmin, self).formfield_for_foreignkey(
db_field, request, **kwargs
)
return db_field.formfield(**kwargs)
。 - naktinis如果您正在编辑的对象是新的,因为它应该设置为当前用户,只有在编辑对象时才显示字段,所以您可以重写模型的管理部分以不显示作者。
您可以通过覆盖ModelAdmin的get_form方法来实现此操作。