【问题标题】:Django FilteredSelectMultiple with a massive amount of data具有大量数据的 Django FilteredSelectMultiple
【发布时间】:2013-07-30 21:07:30
【问题描述】:

我有以下型号:

class Student(models.Model):
    class Meta:
        app_label = 'ground'

    name = models.CharField(max_length=255)

    def __unicode__(self):
        return unicode(self.name)


class Program(models.Model):
    class Meta:
        app_label = 'ground'

    name = models.CharField(max_length=255)
    student = models.ManyToManyField(Student)

    def __unicode__(self):
        return unicode(self.name)

还有以下管理员:

class ProgramAdmin(admin.ModelAdmin):
    formfield_overrides = {
        models.ManyToManyField: {
            'widget': admin.widgets.FilteredSelectMultiple(
                Student._meta.verbose_name_plural, False)
        }
    }

admin.site.register(Program, ProgramAdmin)

如您所见,我使用 django 的 FilteredSelectMultiple 为程序管理员显示一个不错的选择字段,我可以在其中一次选择多个学生。

问题 我的数据库中有超过 2500 名学生。浏览器在将所有学生呈现到选择字段时出现问题。有没有办法克服这个问题。喜欢用 javascript 做事

【问题讨论】:

    标签: django django-models django-admin django-widget


    【解决方案1】:

    这不是浏览器的问题。 Django 在每次加载时都会获取所有个学生的数据列表。如果你一直这样,它会越来越慢。您可以查看raw_id_fields

    【讨论】:

      【解决方案2】:

      我目前正在编写自己的自动完成小部件...敬请期待!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-24
        • 2019-03-11
        • 2016-03-13
        • 2016-12-13
        • 2012-04-27
        • 2011-11-18
        • 2013-08-08
        • 2013-05-04
        相关资源
        最近更新 更多