【问题标题】:Django search field not workingDjango搜索字段不起作用
【发布时间】:2015-03-19 21:15:18
【问题描述】:

我希望能够搜索用户并将其引导至所有用户的列表。

当我尝试搜索功能时,我收到此错误:相关字段查找无效:​​icontains。

追溯到这一行:

clients = LessonCount.objects.filter(user__icontains=q)

有什么想法吗?提前致谢!

views.py:

def search(request):
try:
    q = request.GET.get('q')
except:
    q = None

if q:
    clients = LessonCount.objects.filter(user__icontains=q)
    context = {
        'query': q, 
        'clients': clients
    }
    template = 'clients.html'
else:
    context = {}
    template = 'contact.html'
return render(request, template, context)

models.py:

class LessonCount(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL)
lesson_current_amount = models.PositiveIntegerField(default=0, verbose_name='Current Number of Lessons')

def __unicode__(self):
    return str(self.user.username)

class Meta:
    ordering = ['-user']

def update_lesson_count(self):
    if self.lesson_current_amount > 0:
        self.user.is_member = True
        self.user.save()
    elif self.lesson_current_amount <= 0:
        self.user.is_member = False
        self.user.save()
    else:
        pass

【问题讨论】:

    标签: python django search django-models django-views


    【解决方案1】:

    (user__icontains=q) 正在对用户对象调用 icontains 查找。我认为您应该做的是(user__username__icontains=q),它将对用户名进行查找。

    【讨论】:

      猜你喜欢
      • 2015-03-15
      • 2014-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-11
      • 2014-07-05
      • 2013-09-18
      相关资源
      最近更新 更多