比方说,比如我有一个名为“客户端”模式和一个名为“PHONENUMBERS”Django的形式多对多场50万级的对象超时
class PhoneNumbers(models.Model):
number = forms.IntegerField()
class Client(models.Model):
number = forms.ManyToManyField(PhoneNumbers)
客户端有一个PHONENUMBERS关系多对多模式。 PhoneNumbers拥有将近500,000条记录,因此当从模型窗体编辑客户端记录并使用随M2M提供的MultiSelect小部件时,需要永久加载。事实上,它从来没有。它只是在那里试图加载所有我假设的电话对象。
我的解决方法是使用ajax和jquery编辑客户端记录中的电话号码。在浪费我所有的时间之前,我想看看是否有另一种方式去解决它,而不会让我的页面挂起。
非常感谢您的更新。我使用的是使用Django 1.3的modelformset_factory,我不相信允许'widget'kwarg被传递,但我会尝试以某种方式实现并让你知道结果。 – Austin 2013-05-12 21:43:57
modelformset_factory采用选项表单对象。 'myModelFormset = modelformset_factory(Author,form = AuthorForm)'see:http://stackoverflow.com/questions/2853350/using-a-custom-form-in-a-modelformset-factory和https://docs.djangoproject。 COM/EN/1.5/REF /表格/模型/#django.forms.models.modelformset_factory – 2013-05-13 14:36:10