为什么 Django 管理站点限制为 301 个条目?

发布于 2024-08-18 20:23:35 字数 138 浏览 5 评论 0原文

我正在使用 Django 开发 Google App Engine 项目。我注意到,由于某种原因,Django 管理系统页面仅列出了一个模型的 301 个实体,以及另一个模型的 301 个实体。但实际上这两个模型都存储了 500 多个实例。什么可能导致这个问题?

I'm working on a Google App Engine project using Django. I noticed that for some reason, the Django administration system page lists only 301 entities for one model, and 301 entities for another model. But there are actually over 500 stored instances for both of these models. What could be causing this problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

嘴硬脾气大 2024-08-25 20:23:35

也许以下问题是相关的: Django admin does not show allEntity

问题可能是您想要在管理中列出的模型实例的某些 ForeignKey 指向数据库中不存在的对象。

请检查模型的所有 ForeignKey 值是否设置正确。

Maybe the following SO question is related: Django admin does not show all entities

The problem could be that some ForeignKeys of instances of the model you want to list in the admin points to objects in the database that don't exist.

Please check that all ForeignKey values of the model are set correctly.

岁月染过的梦 2024-08-25 20:23:35

实际上,这看起来像是硬编码到旧版本 App Engine 补丁中的限制。

来自补丁.py:

def patch_app_engine():
    # This allows for using Paginator on a Query object. We limit the number
    # of results to 301, so there won't be any timeouts (301, so you can say
    # "more than 300 results").
    def __len__(self):
        return self.count()
    db.Query.__len__ = __len__

    old_count = db.Query.count
    def count(self, limit=301):
        return old_count(self, limit)
    db.Query.count = count

Actually, it looks like this is a limit hardcoded into an older version of App Engine Patch.

from patch.py:

def patch_app_engine():
    # This allows for using Paginator on a Query object. We limit the number
    # of results to 301, so there won't be any timeouts (301, so you can say
    # "more than 300 results").
    def __len__(self):
        return self.count()
    db.Query.__len__ = __len__

    old_count = db.Query.count
    def count(self, limit=301):
        return old_count(self, limit)
    db.Query.count = count
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文