标签: django-autocomplete-light

Django Autocomplete Light限制查询结果

当我注册autocomplete_light.AutocompleteModelBase并在我的表单中使用它时,显示的结果总是限制为20.我在文档中找不到任何选项来增加在表单上显示的结果数.

autocomplete_light_regisrty.py

class IssueAutocomplete(autocomplete_light.AutocompleteModelBase):
    model = Issue
    search_fields = ('^issue_number',)

autocomplete_light.register(
    IssueAutocomplete,
    attrs={
        'placeholder': 'Type an issue number...',
        'data-autocomplete-minimum-characters': 1
    },
)
Run Code Online (Sandbox Code Playgroud)

forms.py

class StoryForm(autocomplete_light.ModelForm):
    class Meta:
        model = Story
        fields = ('slug', 'summary', 'author', 'editor', 'issue',)
Run Code Online (Sandbox Code Playgroud)

但是当我搜索我的表单时,即使我已经超过60,也只会出现最多20个结果.当我转到/ autocomplete/IssueAutocomplete时会复制这个结果.一次只能显示20个结果.

如何获得完整的结果列表?

python django django-autocomplete-light

3
推荐指数
1
解决办法
321
查看次数

从导入的应用程序覆盖模型的 __str__(self)

我面临以下情况:我有一个 django 项目,它使用外部应用程序 [App1]。在 App1 中,它具有以下结构:

  1. 抽象类“基础”:

    class Base(models.Model):
        """
        Base model with boilerplate for all models.
        """
    
        name = models.CharField(max_length=200, db_index=True)
        alternate_names = models.TextField(null=True, blank=True, 
        default='')
        ..............
        ..............
        class Meta:
            abstract = True
    
       def __str__(self):
            display_name = getattr(self, 'display_name', None)
            if display_name:
                return display_name
    
       return self.name
    
    Run Code Online (Sandbox Code Playgroud)
  2. 基于“Base”的抽象类,称为“AbstractClassA”:

    class AbstractClassA(Base):
    
        display_name = models.CharField(max_length=200)
        ....
        ....
    
        class Meta(Base.Meta):
            abstract = True
    
        def get_display_name(self):
            ....
            ....
            return ....
    
    Run Code Online (Sandbox Code Playgroud)
  3. 非抽象类类 ClassA(AbstractClassA)

现在,当我在视图中对此 ClassA 进行查询时,例如:

    qs = ClassA.objects.filter(Q(name__icontains=query_term)....)
    return qs
Run Code Online (Sandbox Code Playgroud)

我将这个 qs 输入另一个外部应用程序(自动完成),这样当我在我的网络表单上输入“xxxx”时,表单会根据这个 qs …

django django-models django-autocomplete-light

3
推荐指数
2
解决办法
1589
查看次数

当我运行manage.py时如何修复这些错误

我正在将 Python Django 项目从一台服务器移动到另一台服务器。我使用的是 Debian 7,它在目标服务器上标准安装了 python 2.7.3(原始服务器也使用 Debian 7)。

我尝试移动的项目在其父文件夹中具有以下目录:-

-env
-src
Run Code Online (Sandbox Code Playgroud)

它还有一个文件

install.pip 
Run Code Online (Sandbox Code Playgroud)

现在我已经配置了 uwsgi,这些应用程序正在新的网络服务器上运行,但我想使用项目源文件夹中的manage.py。当我运行以下命令时:

 python manage.py changepassword user
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

File "manage.py", line 8, in <module>
    from django.core.management import execute_from_command_line
ImportError: No module named django.core.management
Run Code Online (Sandbox Code Playgroud)

为了尝试解决这个问题,我安装了 virtualenv 和 pip 并构建了一个新的虚拟环境。然后我运行了以下命令:

pip install -r /sourcefolder/install.pip
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我收到一个错误

Failed building wheel for Pillow
Run Code Online (Sandbox Code Playgroud)

我在线研究了这一点,并确定一个可能的解决方案是安装 libjpg,我使用以下命令完成

apt-get install libjpeg8-dev
Run Code Online (Sandbox Code Playgroud)

然后我再次运行pip install -r /sourcefolder/install.pip,这次它完成了,没有任何错误。

我尝试再次运行该命令:-

 python manage.py changepassword user
Run Code Online (Sandbox Code Playgroud)

我仍然收到错误,但现在它已经改变了。

  1. 如果我在虚拟环境之外运行该命令,我会收到以下错误:

    文件“manage.py”,第8行,来自django.core.management导入execute_from_command_line导入错误:没有名为django.core.management的模块

  2. 如果我从虚拟环境内部运行命令(我已使用 install.pip 要求在其中运行了 pip),我会收到此错误

为了便于阅读等,我已将长路径更改为 /sourcepath:-

Traceback (most recent …
Run Code Online (Sandbox Code Playgroud)

python django pip virtualenv django-autocomplete-light

2
推荐指数
1
解决办法
1124
查看次数

django-autocomplete-light错误='列表'对象没有属性'queryset'

我是django的新手,我需要您的帮助,尝试了许多天后才了解django-autocomplete-light,在设置测试 http://192.168.0.108:8000/country-autocomplete/后,数据显示为此处解释http://django-autocomplete-light.readthedocs.io/en/master/tutorial.html#overview

但是在执行下一步之后,我得到了错误:

AttributeError at /auto
'list' object has no attribute 'queryset'
Request Method: GET
Request URL:    http://192.168.0.108:8000/auto
Django Version: 1.10.3
Exception Type: AttributeError
Exception Value:'list' object has no attribute 'queryset'
Exception Location: /home/alcall/ENV/lib/python3.4/site-packages/dal/widgets.py in filter_choices_to_render, line 161
Run Code Online (Sandbox Code Playgroud)

在我的设置下面:

网址:

from dal import autocomplete
from django.conf.urls import url
from django.contrib import admin
from rates.view.index import *
from rates.view.index import UpdateView

urlpatterns = [
url(r'^admin/', admin.site.urls),
url(
    r'^country-autocomplete/$',
    CountryAutocomplete.as_view(),
    name='country-autocomplete',
),
url(r'^auto$',
    UpdateView.as_view(),
    name='select',
),
]
Run Code Online (Sandbox Code Playgroud)

models.py

from __future__ …
Run Code Online (Sandbox Code Playgroud)

python django django-autocomplete-light

2
推荐指数
1
解决办法
2421
查看次数

如何使用 django-autocomplete-light - Importerror No Module Named Shortcuts 修复此错误?

所以,这两天我一直在努力设置 django-autocomplete-light 来做最基本的自动完成,但无济于事。我遇到了太多的问题和太多的错误,我无法在此处指定它们以寻求明确的解决方案。

所以,我现在试图做的是创建一个基本的 django 应用程序,从头开始,并从 django-autocomplete-light 存储库中删除“基本”示例。这样做是为了尝试创建一个可重现的问题,以便我可以获得支持。

然而,这也令人沮丧。我现在遇到了这个错误......

  File "/Users/josh/.virtualenvs/testaclite/lib/python2.7/site-packages/django/__init__.py", line 21, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Users/josh/.virtualenvs/testaclite/lib/python2.7/site-packages/django/apps/registry.py", line 115, in populate
    app_config.ready()
  File "/Users/josh/.virtualenvs/testaclite/lib/python2.7/site-packages/autocomplete_light/apps.py", line 10, in ready
    autocomplete_light.autodiscover()
  File "/Users/josh/.virtualenvs/testaclite/lib/python2.7/site-packages/autocomplete_light/registry.py", line 290, in autodiscover
    autodiscover_modules('autocomplete_light_registry')
  File "/Users/josh/.virtualenvs/testaclite/lib/python2.7/site-packages/django/utils/module_loading.py", line 74, in autodiscover_modules
    import_module('%s.%s' % (app_config.name, module_to_search))
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Users/josh/Development/python/testaclite/aclite/basic/autocomplete_light_registry.py", line 1, in <module>
    import autocomplete_light.shortcuts as autocomplete_light
ImportError: No module named shortcuts
Run Code Online (Sandbox Code Playgroud)

我能做些什么来解决这个问题?

django django-autocomplete-light

1
推荐指数
1
解决办法
1325
查看次数

带有django自动补全灯的django-filter

有没有人成功地同时使用dal和django-filter?下面的尝试是我的,我尝试使用filterset_factory,提供模型类和字段列表,然后尝试使用futuremodelform。我有 ,

ModelForm没有指定模型类。

我认为这只是发生的许多错误之一。之前做过的任何人,我都必须使用filterset_factory,并根据参数创建动态类,我也想覆盖小部件,以便可以使用dal小部件。

   #testing filterset
    from dal import autocomplete
    from django.db import models
    class PanFilterSet(django_filters.FilterSet):
        filter_overrides = {
            models.ForeignKey: {
                'filter_class': autocomplete.ModelSelect2,
            },

        }

    def pan_filterset_factory(model,fields):
        meta = type(str('Meta'), (object,), {'model': model,'fields':fields,'form':autocomplete.FutureModelForm})
        filterset = type(str('%sFilterSet' % model._meta.object_name),
                         (PanFilterSet,), {'Meta': meta})
        return filterset

    searchFormFilterSet = pan_filterset_factory(self.model_class,self.final_search_fields)
    f = searchFormFilterSet(self.request.GET, queryset=self.get_queryset())
    print f.form.as_p()
Run Code Online (Sandbox Code Playgroud)

django django-filter django-autocomplete-light

1
推荐指数
1
解决办法
1243
查看次数

带有 django 自动完成灯的 django 过滤器

我一直在分别使用简单的 DAL 和 django-filter,但是我在将 DAL 与 django-filter 一起使用时遇到了问题。

我读过这个页面:django-filter with django autocomplete light

但我还是很困惑。我有下面这样的过滤器类,我想在“devname”字段上使用 DAL:

class DevListFil(django_filters.FilterSet):
    devname = django_filters.CharFilter(name='devname',lookup_expr='icontains')
    sn      = django_filters.CharFilter(name='sn',lookup_expr='icontains')
    devtype = django_filters.CharFilter(name='devtype',lookup_expr='icontains')
    class Meta:
        model = Device
        fields = ['devname','sn','devtype']
Run Code Online (Sandbox Code Playgroud)

请提供任何帮助或指向正确的方向。

django django-filter django-autocomplete-light

1
推荐指数
1
解决办法
1825
查看次数

如何使用 django-autocomplete-light 更改选项值?

我以相当标准的方式使用 django-autocomplete-light,只需按照http://django-autocomplete-light.readthedocs.io/en/master/tutorial.html上的教程进行操作。

但是,每当我使用 Select2 小部件时,选项的值都会自动成为模型实例的主键。有没有办法使用将值设置为模型的另一个字段?

python django autocomplete django-autocomplete-light

1
推荐指数
1
解决办法
934
查看次数

Django Autocomplete Light - “无法加载结果”

我在一个小应用程序上使用 Django-autocomplete-light。UI 似乎有效,我可以从一些可见值中进行选择。当我在框中键入一个或多个字母时出现问题。通常它应该过滤/选择结果,相反,我收到错误“无法加载结果”(见图)。

似乎 jquery 工作正常,除了当我在框中输入时没有过滤。很高兴添加更多代码,只是不确定我需要添加什么。

模型.py

class Encounter(models.Model):
    patid = models.ForeignKey(get_user_model(), on_delete=models.CASCADE, verbose_name=('Patient Name'), related_name='patient')
    created_by = models.ForeignKey(Users, editable=False, null=True, blank=True, on_delete=models.PROTECT, related_name='encounter_created_by')
    encounter_date = models.DateField()
    encounter_label = models.ForeignKey(EncounterReason, on_delete=models.PROTECT, verbose_name=('Encounter Reason'), related_name='fk_reason')

class EncounterReason(models.Model):
    reason = models.CharField(max_length=256, blank=True, null=True)
    valueset_id = models.CharField(max_length=256, blank=True, null=True)

Run Code Online (Sandbox Code Playgroud)

视图.py

class EncounterReasonAutocomplete(autocomplete.Select2QuerySetView):
    def get_queryset(self):
        # Don't forget to filter out results depending on the visitor !
        if not self.request.user.is_authenticated:
            return EncounterReason.objects.none()
        qs = EncounterReason.objects.all()
        if self.q:
            qs = qs.filter(name__istartswith=self.q)
        return qs
Run Code Online (Sandbox Code Playgroud)

表格.py

class …
Run Code Online (Sandbox Code Playgroud)

django autocomplete django-views django-autocomplete-light

1
推荐指数
1
解决办法
853
查看次数