Не работают django-фильтры в приложении Django - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь использовать фильтры django для моего приложения, но оно всегда возвращает одну и ту же ошибку.

    from django.contrib.auth.models import Promoters
ImportError: cannot import name 'Promoters' from 'django.contrib.auth.models' (C:\Users\tymot\Desktop\my_app\env\lib\site-packages\django\contrib\auth\models.py)

У кого-нибудь была подобная проблема?Как лучше это решить?смена Джанго версии?или, может быть, есть какие-то альтернативы?

Моя версия django (2, 1, 2, 'final', 0), Python 3.6.

РЕДАКТИРОВАТЬ: я пытаюсь добавить поисковую систему вмой сайт, ну я установил 'pip install django-filter' и добавил это в мои settings.py.Затем я создал filters.py:

from django.contrib.auth.models import Promoters
import django_filters

class PromotersFilter(django_filters.FilterSet):
    class Meta:
        model = Promoters
        fields = ['age', 'profession', 'sex', 'city'] 

для моих models.py

class Promoters(models.Model):
    MEAN = 'M'
    WOMAN = 'W'
    SEX = (
        (MEAN, 'Mean'),
        (WOMAN, 'Woman'),
    )
    name = models.CharField(max_length=50)
    surname = models.CharField(max_length=50)
    photo = models.FileField(null=True, blank=True)
    age = models.IntegerField(validators=[MinValueValidator(0),
                                          MaxValueValidator(99)])
    profession = models.CharField(max_length=50)
    sex = models.CharField(max_length=1, choices=SEX, default=MEAN) 
    city = models.CharField(max_length=50)
    hobby = models.CharField(max_length=50)
    number_friends = models.IntegerField(validators=[MinValueValidator(0)])
    related_brands = models.IntegerField(validators=[MinValueValidator(0),
                                         MaxValueValidator(10)])
    user_group = models.CharField(max_length=200)
    activities_month = models.IntegerField()
    fb_links = models.CharField(max_length=200)

, а также создаю views.py

def Promotors(request):
    #promoters
    campaignlist = Campaign.objects.filter(customer_name=request.user)
    promoters_list = Promoters.objects.all()
    #search rama
    promoters_filter = PromotersFilter(request.GET, queryser=promoters_list)
    #context
    context = { 'campaignlist':campaignlist, 'filter':promoters_filter}
    return render(request, 'account/costumer_profile.html', context)

Затем, когда я пытаюсьчтобы запустить сервер, я получаю сообщение об ошибке: 'ImportError: ...'

На других форумах есть информация, что это может быть связано с несоответствием django-фильтров версии django.Но я не нашел никакой информации о том, как решить эту проблему для реализации поисковой системы.

...