带有 ManyToMany 字段和 500,000 个对象的 Django 表单超时

2024-04-30

假设我有一个名为“Client”的模型和一个名为“PhoneNumbers”的模型

class PhoneNumbers(models.Model):
    number = forms.IntegerField()

class Client(models.Model):
    number = forms.ManyToManyField(PhoneNumbers)

客户端与 PhoneNumbers 具有多对多关系。 PhoneNumbers 中有近 500,000 条记录,因此当使用 M2M 字段附带的 MultiSelect 小部件从模型表单编辑客户记录时,需要很长时间才能加载。事实上,它永远不会。它只是坐在那里尝试加载我假设的所有电话对象。

我的解决方法是使用 ajax 和 jquery 进行一些繁琐的操作,仅编辑客户记录中的电话号码。在浪费时间做所有这些之前,我想看看是否有另一种方法可以在不让我的页面挂起的情况下完成它。


您需要为此字段创建一个自定义小部件,以便您自动完成正确的记录。如果您不想自己推出:http://django-autocomplete-light.readthedocs.io/ http://django-autocomplete-light.readthedocs.io/

我将其用于通用关系支持,M2M 自动完成看起来也非常简单和直观。请参阅此处的使用视频:

在阅读了您关于在管理员之外需要它的评论后,我又看了一眼django-autocomplete-light图书馆。它提供了您可以在管理员之外使用的小部件 http://django-autocomplete-light.readthedocs.io/en/master/tutorial.html#using-autocompletes-outside-the-admin.

from dal import autocomplete
from django import forms

class PersonForm(forms.ModelForm):
    class Meta:
        widgets = {
            'myformfield': autocomplete.ModelSelect2(
                # ...
            ),
        }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有 ManyToMany 字段和 500,000 个对象的 Django 表单超时 的相关文章

  • Django MySQL 创建表时出错

    我有一个类似的问题这张票 https code djangoproject com ticket 18256在 Django 论坛上提出 我该如何解决这个问题 我还扩展了一个用户模型 如下所示 class Profile models Mo
  • Django的注释框架和CSRF

    据我了解 Django的评论框架 https docs djangoproject com en 1 4 ref contrib comments 专为匿名公众评论而设计 就像您通常在博客或文章下面看到的那样 换句话说 任何人都可以发表评论
  • 带有 ManyToMany 和直通表的 Graphene-django

    我的应用程序有多个多对多关系具有贯穿模型像这样 class Person models Model name models CharField class Group models Model name models CharField m
  • GeoDjango:距离对象不可序列化

    我刚刚学习 geo django 我可以找出所有地方到一个点的距离 但是当我使用 values方法注释distance场 我得到 TypeError Object of type Distance is not JSON serializa
  • 本地 React 前端、Django REST Framework 后端(在 CORS 下访问 CSRF cookie 时出现问题)

    我正在创建一个带有 React 前端和 Django REST Framework 后端的 Web 应用程序 由于某些情况 我必须在本地开发 React 前端 而后端服务器位于远程位置 后端服务器要求我在登录后的每个 POST 中使用 CS
  • 无法使用 Django 应用程序从容器连接到 MySQL docker 容器

    当我尝试从运行 Django 应用程序的 docker 容器连接到运行 MySQL 的容器时 出现以下错误 django db utils OperationalError 2003 Can t connect to MySQL serve
  • 在 Docker 容器中看不到 Django

    我想在一个简单的 Docker 容器中运行 Django 首先 我使用 Docker 文件构建了容器 里面没有什么特别的 只有 FROM RUN 和 COPY 命令 然后我用命令运行我的容器 docker run tid p 8000 80
  • Django 的登录会话

    我正在尝试在我的网络应用程序中设置登录会话 但无法使其正常工作 我是 django 新手 阅读了会话文档 但没有连接到我的网络应用程序 我现在想要的只是检查用户是否已登录 如果没有则重定向到登录页面 这是我尝试合并登录会话的代码 设置 py
  • 在 django admin 中自定义选择

    我有一个模型 其中一个字段是外键 所以我在 django admin 中看到选择 是否可以自定义此选择的标签 class Model models Model name models CharField def unicode self r
  • Django 响应总是用 text/html 分块无法设置内容长度

    在我的Django应用程序的views py中 我在尝试设置以下HTTP标头字段后返回一个HttpResponse对象 Create a Response Object with the content to return response
  • Django REST序列化器:创建对象而不保存

    我已经开始使用 Django REST 框架 我想做的是使用一些 JSON 发布请求 从中创建一个 Django 模型对象 然后使用该对象而不保存它 我的 Django 模型称为 SearchRequest 我所拥有的是 api view
  • InterfaceError:连接已关闭(使用 django + celery + Scrapy)

    当我在 Celery 任务中使用 Scrapy 解析函数 有时可能需要 10 分钟 时 我得到了这个信息 我用 姜戈 1 6 5 django celery 3 1 16 芹菜 3 1 16 psycopg2 2 5 5 我也使用了psyc
  • Django 代理模型的继承和多态性

    我正在开发一个我没有启动的 Django 项目 我面临着一个问题遗产 我有一个大模型 在示例中简化 称为MyModel这应该代表不同种类的物品 的所有实例对象MyModel应该具有相同的字段 但方法的行为根据项目类型的不同而有很大差异 到目
  • Django 管理员在模型编辑时间歇性返回 404

    我们使用 Django Admin 来维护导出到我们的一些站点的一些数据 有时 当单击标准更改列表视图来获取模型编辑表单而不是路由到正确的页面时 我们会得到 Django 404 页面 模板 它是偶尔发生的 我们可以通过重新加载三次来重现它
  • 使 django 服务器可以在 LAN 中访问

    我已经安装了Django服务器 可以如下访问 http localhost 8000 get sms http 127 0 0 1 8000 get sms 假设我的IP是x x x x 当我这样做时 从同一网络下的另一台电脑 my ip
  • 如何让 Django 和 ReactJS 协同工作?

    New to Django and even newer to ReactJS I have been looking into AngularJS and ReactJS but decided on ReactJS It seemed
  • 使用具有外键的模型序列化器在 Django Rest Framework 中的父表上执行 CRUD

    在我的 API 中 我有两个模型Question and Option如下所示 class Question models Model body models TextField class Options models Model que
  • Django admin - 更改权限列表

    是否可以更改用户编辑页面中的权限列表 我不想显示所有权限 例如管理日志条目或身份验证组等 如何修改主查询集以排除其中的某些查询集 我的想法来自这个话题 https groups google com forum topic django u
  • Nginx 与 Daphne 给出 502 Bad Gateway

    由于 Django Channels 和 uwsgi 出现问题 我决定用 daphne 替换 uwsgi 关注后this http masnun rocks 2016 11 02 deploying django channels usin
  • 发送用户注册密码,django-allauth

    我在 django 应用程序上使用 django alluth 进行身份验证 注册 我需要创建一个自定义注册表单 其中只有一个字段 电子邮件 密码将在服务器上生成 这是我创建的表格 from django import forms from

随机推荐