Skip to main content
 首页 » 编程设计

python之如何在 Django 中使用用户 FK 为模型指定默认值

2025年05月04日40lvdongjie

我查看了 django 中扩展用户字段的问题,并想到了使用 FK to user 方法:

class Parent(models.Model): 
    user = models.ForeignKey(User) 
    contact_means = models.IntegerField() 
    parent_id = models.AutoField(primary_key = True) 

我有一个问题。使用这种方法(与用户继承相比),在管理站点中,在我注册 Parent 之后,如何为用户属性(如“is_active”)指定默认值和/或在编辑页面中隐藏用户字段?我什至可以在父级的 ModelAdmin 类中这样做吗?

谢谢大家!

请您参考如下方法:

你能解释一下在注册Parent之后为用户指定默认属性是什么意思吗?

您是从父对象创建用户对象吗?如果我了解用户对象创建和父对象创建之间的流程,我可以提供更好的帮助。

隐藏用户字段:指定fields 属性。这假定用户已经设置。

class MyModelAdmin(admin.ModelAdmin): 
    fields = ('contact_means',)