Django的監護人覆蓋Django的表單字段在admin.py定義兩種形式,GroupManage和UserManage:https://github.com/lukaszb/django-guardian/blob/master/guardian/admin.py#L368從不同的應用程序
我想自動完成添加這兩種形式,而最好的方法我假設做到這一點是覆蓋組和用戶的字段小部件(我的第一次嘗試使用django autocomplete_light。)目標是不需要分叉django監護人。
所以在我的應用程序的models.py,添加以下代碼
GroupManage.__class__.group = forms.CharField(max_length=81,
error_messages={'does_not_exist':
"This group does not exist!"}, widget=ChoiceWidget(True))
我使用SETATTR無濟於事也試過。在django shell中,它的行爲應該是有效的,但是當管理頁面被加載時,舊的組變量將被恢復,並且使用默認的CharField小部件。
只是覆蓋爲模型的管理模板。 – 2012-08-07 17:51:42
這會破壞使用現有的django應用程序來處理自動完成的目的。一個有效的解決方案,但不是我想要做的。 – zgohr 2012-08-07 17:57:00
請注意,autocomplete-light [不支持CharField](http://www.djangopackages.com/grids/g/auto-complete/),但CharField支持在[active development]之下(https:// github .com/yourlabs/django-autocomplete-light/issues/32) – jpic 2012-08-21 12:44:13