我扩展了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')
这不起作用。我错过了什么?
答案 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')