author = models.ForeignKey(User)
有什么办法可以设置这个字段的默认值来自动选择登录用户吗?我知道您可以在save方法中执行此操作,但我的客户端已请求在编辑时自动默认为登录用户以避免混淆。
This article介绍如何在保存期间更新它,而不是在编辑时。
答案 0 :(得分:45)
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
)
答案 1 :(得分:0)
如果您正在编辑的对象是新的,因为它应该设置为当前用户并且仅当您正在编辑对象时,您可以覆盖模型的管理部分以不显示作者吗?
您可以通过覆盖ModelAdmin的get_form方法来完成此操作。