Обратный для ‘chained_filter’ не найден. ‘chained_filter’ не является допустимой функцией просмотра или именем шаблона Django admin

#python #django #django-smart-selects

#python #django #django-smart-выбирает

Вопрос:

Я работаю над проектом, в котором мне нужно добавить два зависимых выпадающих списка, для этого я пытался использовать Django-smart-selects, но у меня возникла проблема. Вот что я сделал

Вот мои модели

 class District(models.Model):
name = models.CharField(max_length=100, default=None)
created_at = models.DateField(default=django.utils.timezone.now)

class Meta:
    managed = True
    db_table = 'District'

def __str__(self):
    return self.name


class PoliceStation(models.Model):
name = models.CharField(max_length=100, default=None)
district = models.ForeignKey(
    District, on_delete=models.CASCADE, max_length=100)
created_at = models.DateField(default=django.utils.timezone.now)

class Meta:
    managed = True
    db_table = 'PoliceStation'

def __str__(self):
    return self.name

class NewsAndUpdates(models.Model):
title = models.CharField(max_length=250)
description = HTMLField()
category = models.ForeignKey(
    Category, on_delete=models.CASCADE, max_length=100)
district = models.ForeignKey(
    District, on_delete=models.CASCADE)

policeStation = ChainedForeignKey(
    PoliceStation,
    chained_field="district",
    chained_model_field="district",
    show_all=False,
    auto_choose=True,
    on_delete=models.CASCADE)

class Meta:
    managed = True
    db_table = 'NewsAndUpdates'
 

Это мой urls.py

 urlpatterns = [
  path('admin/', admin.site.urls),
  path('chaining/', include('smart_selects.urls')),
]
 

Вот мои установленные приложения

 INSTALLED_APPS = [
....
'smart_selects',
]
 

В setting.py Я использовал это, как было предложено, когда я искал проблему

 USE_DJANGO_JQUERY = True
 

Это мой admin.py

 class NewsAndUpdatesAdmin(admin.ModelAdmin):
list_display = ('title', 'category', 'created_at',
                'is_published', 'is_draft')

admin.site.register(NewsAndUpdates, NewsAndUpdatesAdmin)
 

Но я получаю проблему, которая
Reverse for 'chained_filter' not found. 'chained_filter' is not a valid view function or pattern name

Скриншот

Использование Django версии 3.1

Комментарии:

1. Вы выполнили команду migrate

2. Да, я выполнил команду migrate.

3. @SatyenChauhan вам удалось решить эту проблему?

4. @fmakawa еще нет

Ответ №1:

Ошибка NoReverseMatch говорит о том, что Django не может найти соответствующий шаблон URL-адреса для URL-адреса, который вы указали в любом из URL-адресов вашего установленного приложения. Исключение NoReverseMatch вызывается django. … urlresolvers, когда соответствующий URL-адрес в вашем URLconf не может быть идентифицирован на основе предоставленных параметров.

Комментарии:

1. Спасибо за ваш ответ, но я следил за документом Django-smart-selects. Что я должен добавить в URL-адрес еще?

2. я думаю, что у вас есть функция просмотра или приложение, которые не зарегистрированы в вашем URL, проверьте это в своем коде

3. иногда мы передаем какой-то аргумент, но мы забыли добавить его в наш URL, поэтому проверьте это также

4. Это библиотека, которую я установил, я не написал для этого никакой функции, на мой взгляд

5. речь идет не о вашей библиотеке, а о chained_filter, где вы использовали chained_filter проверьте там, отсутствуют ли какие-либо URL или аргументы

Ответ №2:

Я получил эту ошибку, когда я не зарегистрировал smart_selects.url-адреса в urls.py .

Ответ №3:

Добавить в /app/urls.py:

 urlpatterns = [
    re_path(r'^chaining/', include('smart_selects.urls'))
]