我有以下型号:
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做的东西
答案 0 :(得分:1)
这不是浏览器问题。 Django在每次加载时都会获取所有学生的数据列表。如果你保持这种方式,它将会缓慢而缓慢。您可以查看raw_id_fields
。
答案 1 :(得分:0)
我正在编写自己的自动完成小部件...请继续关注!