Использование django_select2 в проекте Django

Доброго времени суток всем читающим.

Решил подключить к своему проекту django_select2, но дело оказалось не таким простым, как описано в документации.

Есть настройки кэша в БД

CACHES = {

    'default': {
        'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
        'LOCATION': 'default_cache_table',
    },

    'select2': {
        'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
        'LOCATION': 'select2_cache_table',
        }
    
}

SELECT2_CACHE_BACKEND = "select2"

Есть модель в БД

class YchIzd(models.Model):
    athor_username = models.ManyToManyField(User)
    publ_name = models.TextField(unique=True, verbose_name = 'Наименование издания')

Форма под нее

from django_select2 import forms as s2forms
from django.contrib.auth.models import User
from .models import YchIzd

class MyWidget(s2forms.ModelSelect2MultipleWidget):
    search_fields = [
        'username__icontains',
    ]

class testForm(forms.ModelForm):
    class Meta:
        model = YchIzd
        fields = ('athor_username', )
        widgets = {
           'athor_username': MyWidget,
      }

И простое представление для теста

def test(request):
    form = testForm()
    return render(request, 'main/test.html', {'form' : form})

И, собственно, сам test.html

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Create Book</title>

    {{ form.media.css }}
    <style>
        input, select {width: 100%}
    </style>
</head>
<body>
    <h1>Create a new Book</h1>
    <form method="POST">
        {% csrf_token %}
        {{ form.as_p }}
        <input type="submit">
    </form>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    {{ form.media.js }}
</body>
</html>

Но это связка отказывается работать. Может кто-то увидит, почему эта маленькая и простая фича отказывается взлетать?=\

Для доп. информации - проект крутится на связке Debian + Nginx + Gunicorn и использует в качестве БД PostgreSQL. Вдруг тут собака зарыта.


Ответы (0 шт):