Я конвертирую arguments
в Array , используя Array.prototype.slice
, чтобы я мог concat
с другим Array того, что я хочу добавить, затем передать его в console.log.apply(console, /*here*/)
;
var log = function () {
return console.log.apply(
console,
['['+new Date().toISOString().slice(11,-5)+']'].concat(
Array.prototype.slice.call(arguments)
)
);
};
log(['foo']); // [18:13:17] ["foo"]
Кажется, что arguments
тоже можно Array.prototype.unshift
редактировать, но я не знаю, хорошо ли это модифицировать, как это Идея / будет иметь другие побочные эффекты
var log = function () {
Array.prototype.unshift.call(
arguments,
'['+new Date().toISOString().slice(11,-5)+']'
);
return console.log.apply(console, arguments);
};
log(['foo']); // [18:13:39] ["foo"]
Сначала "это подключено?" вопрос - Вы вручную добавляли new_field в таблицу users в базе данных? Конечно, Syncdb не позаботился бы об этом.
После этого я бы попробовал добавить поля в существующий UserAdmin, а не перестраивать его с нуля:
from django.contrib.auth.admin import UserAdmin
UserAdmin.list_display += ('new_field',) # don't forget the commas
UserAdmin.list_filter += ('new_field',)
UserAdmin.fieldsets += ('new_field',)
Желательно написать собственный класс профиля пользователя и присоединить его к модели пользователя. Затем вы можете использовать метод get_profile ()
для получения профиля от пользователя.
Создание подкласса администратора профиля от встроенного администратора также должно позволить вам редактировать профиль на странице пользователя, что почти то, что вы пытаетесь сделать.
В этом посте есть действительно хорошая рецензия на проблему: http://www.b-list.org/weblog/2006/jun/06/django-tips-exnding-user-model/
Я получил ошибку «что отсутствует в форме» и обнаружил, что это произошло из-за мое поле помечено в модели как editable = False.