Как человек может расширить django.contrib.sites.admin, чтобы включить поле из модели с внешним ключом, указывающим на сайты? - PullRequest
2 голосов
/ 08 июня 2011

Я пытаюсь расширить django.contrib.sites.admin. Мне трудно найти способ добавить поле на страницу администрирования сайтов из-за того, что django.contrib.sites ничего не знает о моей внешней модели. Есть ли простой способ, который я пропускаю, который позволил бы мне добавить поле "сумасшедший" из следующего примера к администратору сайтов? Нужно ли расширять функциональность django.contrib.sites.models safe / etc для достижения этой цели? Большое спасибо.

class Herp(models.Model):
    site = models.ForeignKey(Site)
    derp = models.CharField(blank=True, max_length=15)

Редактировать: я должен упомянуть, что у меня есть файл admin.py с классом, расширяющим SiteAdmin. Я понимаю admin.site.unregister и admin.site.register. Я просто не знаю, как включить поле с отношением внешнего ключа обратно в django.contrib.sites.

1 Ответ

2 голосов
/ 16 июня 2011

Inlines сделает это. Вы можете определить HerpInlineAdmin, добавить его к атрибуту inlines на вашем SiteAdmin, затем отменить регистрацию Site и зарегистрировать его снова с новым SiteAdmin.

Хотя это на самом деле ничего не добавит к форме Site admin , поле derp будет присутствовать на странице администратора в качестве встроенного элемента.

...