如何更改djangos默认用户创建表单

时间:2017-11-13 16:08:50

标签: python django django-admin

我扩展了Django用户模型并添加了一个必需的Observable.prototype.first = function() { const source = this; return new Observable(observer => { let hasSentValue = false; return source.subscribe( v => { if(!hasSentValue) { observer.next(v); observer.complete(); hasSentValue = true; } }, err => observer.error(err), () => { if(!hasSentValue) { observer.error("Empty stream"); } }); }); }; 被叫公司。现在我还需要更改默认用户创建表单。到目前为止我尝试的是:

创建一个继承自默认ForeignKeyField表单的新表单:

UserCreationForm

将其添加到我的扩展Django Admin:

class MyUserCreationForm(UserCreationForm):
    company = forms.ModelChoiceField(queryset=Company.objects.all())

    class Meta:
        model = MyUser
        fields = ('username', 'company')

这不起作用。我错过了什么?

1 个答案:

答案 0 :(得分:0)

事实证明,您不需要更改add_form。您需要做的就是将以下内容添加到ExtendedUserAdmin

def __init__(self, model, admin_site):
    super().__init__(model, admin_site)
    self.add_fieldsets[0][1]['fields'] = ('username', 'password1', 'password2', 'company')