Список изменения связывается со страницей изменения внешнего ключа

Это сделано через довольно простой JavaScript.

Они отслеживают идентификатор последнего установленного флажка и когда, когда другой флажок проверяется, они используют shiftKey атрибут события , чтобы видеть, был ли сдвиг сохранен при нажатии на флажок. Раз так они устанавливают проверенное свойство каждого флажка, промежуточного два к истинному.

Для определения, когда флажок устанавливается, они, вероятно, используют событие onclick на флажках

15
задан skaffman 3 May 2010 в 11:02
поделиться

1 ответ

Вы можете определить собственный метод для использования в списке изменений, который возвращает HTML-код ссылки.

from django.core.urlresolvers import reverse

class MyFooAdmin(admin.ModelAdmin):
    list_display = ('foo', 'bar_link')

    def bar_link(self, obj):
        url = reverse('admin:myapp_bar_change', args=(obj.pk,))
        return '<a href="%s">Edit Bar</a>' % url 
    bar_link.allow_tags = True 

Одна проблема с вашим вопросом, как указано - если Foo имеет внешний ключ для Bar, то каждый foo ссылается на одну панель, так что вы можете ссылаться на страницу редактирования для этой панели. Однако каждая панель ссылается на несколько файлов foo, поэтому нет смысла запрашивать ссылку на «страницу редактирования экземпляра Foo». Что вы можете сделать, так это создать ссылку на страницу списка изменений для Foo с фильтром, настроенным так, чтобы показывать только экземпляры, которые ссылаются на эту панель:

    def foo_link(self, obj):
        url = reverse('admin:myapp_foo_changelist')
        return '<a href="%s?bar=%s">See Foos</a>' % (url, obj.pk) 
    foo_link.allow_tags = True 
21
ответ дан 1 December 2019 в 03:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: