Django: list_filter и поля внешнего ключа

Я построил на предыдущем ответе и получил это, дополнительное дополнение, чтобы иметь возможность удобно соединить все выходные:

SELECT 
CONCAT('SELECT ''',A.TABLE_NAME, '-' ,A.COLUMN_NAME,''' FROM ', A.TABLE_SCHEMA, '.', A.TABLE_NAME, 
       ' WHERE ', A.COLUMN_NAME, ' LIKE \'%Value%\' UNION')
FROM INFORMATION_SCHEMA.COLUMNS A
WHERE 
        A.TABLE_SCHEMA != 'mysql' 
AND     A.TABLE_SCHEMA != 'innodb' 
AND     A.TABLE_SCHEMA != 'performance_schema' 
AND     A.TABLE_SCHEMA != 'information_schema'
UNION SELECT 'SELECT '''

-- for exact match use: A.COLUMN_NAME, ' LIKE \'Value\' instead

Сначала вы запустите это, затем вставьте и запустите результат ( без редактирования), и он отобразит все имена таблиц и столбцы, в которых используется значение.

18
задан Dan 14 January 2010 в 16:27
поделиться

2 ответа

Ну, документы говорят, что вы можете использовать INSERTKEKKEK Типы поля в List_Filter :

http://docs.djangoProject.com /en/dev/ref/Contrib/admin/#django.contrib.admin.modeladmin.list_filter

An пример:

# models.py:
class Foo(models.Model):
    name = models.CharField(max_length=255)

    def __unicode__(self):
        return self.name

class Bar(models.Model):
    name = models.CharField(max_length=255)
    foo = models.ForeignKey(Foo)

# admin.py:
class BarAdmin(admin.ModelAdmin):
    list_filter = ('foo')

Если вы хотите фильтровать по полю из соответствующей модели, есть патч на пути к пути к Сделайте эту работу (вероятно, будет объединена в 1.2, как кажется:

http://code.djangoproject.com/ticket/3400

12
ответ дан 30 November 2019 в 06:35
поделиться

Вы можете сделать:

new ViewDataDictionary(new { ForPrinting = True })

как просмотр датататарь может принять объект, чтобы отразить в своем конструкторе.

-121--1725365-

Если вы построите URL для Changelist вручную, Django не имеет проблем на следующих отношениях. Например:

/admin/contact/contact/?participant__event=8

или

/admin/contact/contact/?participant__event__name__icontains=er

оба работают нормально (хотя последнее не добавляет «отчетливый ()», так что может иметь дубликаты, но обычно не будет проблемой для фильтров)

, так что вам просто нужно Добавьте что-нибудь на страницу, которая создает правильные ссылки. Вы можете сделать это либо с переопределением шаблона Changelist или путем написания пользовательских FiltersPec. Есть несколько примеров, которые я обнаружил гуглами - особенно на фрагменты Django

2
ответ дан 30 November 2019 в 06:35
поделиться
Другие вопросы по тегам:

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