首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >具有Django admin的用户ForeignKey的默认值

具有Django admin的用户ForeignKey的默认值
EN

Stack Overflow用户
提问于 2011-04-12 17:10:29
回答 2查看 8.8K关注 0票数 19
代码语言:javascript
复制
author = models.ForeignKey(User)

是否可以将此字段的默认值设置为自动选择已登录的用户?我知道你可以在save方法中做到这一点,但是我的客户要求它在编辑时自动默认为登录的用户,以避免混淆。

This article讨论了如何在保存时更新它,而不是在编辑时。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-12 17:41:37

代码语言:javascript
复制
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
        )
票数 45
EN

Stack Overflow用户

发布于 2011-04-12 17:33:28

如果您正在编辑的对象是新对象,则可以覆盖模型的Admin部分以不显示作者,因为它应该设置为当前用户,并且仅当您正在编辑对象时,该字段才会显示?

您可以通过重写ModelAdmin的get_form方法来完成此操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5632848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档