Допустим, например, у меня есть модель под названием «Клиент» и модель под названием «номера телефонов»Django формы с полем ManyToMany с 500.000 объектов раз из
class PhoneNumbers(models.Model):
number = forms.IntegerField()
class Client(models.Model):
number = forms.ManyToManyField(PhoneNumbers)
Клиент имеет отношения ManyToMany с номера телефонов. PhoneNumbers имеет почти 500 000 записей, поэтому, когда дело доходит до редактирования записи клиента из модельной формы с помощью виджета MultiSelect, который поставляется с зарегистрированным M2M, он навсегда загружается. На самом деле этого никогда не бывает. Он просто сидит там, пытаясь загрузить все те объекты, которые я предполагаю.
Мое обходное решение было связано с такими утомительными вещами, когда ajax и jquery редактировали только номера телефонов в записи клиента. Прежде чем тратить свое время на все это, я хотел посмотреть, есть ли какой-то другой способ сделать это, не заставляя мою страницу зависать.
Большое спасибо за ваше обновление. Я использую modelformset_factory с использованием Django 1.3, который, как я полагаю, не допускает пропускание «виджета», но я попытаюсь каким-то образом реализовать и дать вам знать результаты. – Austin
modelformset_factory принимает объект формы опции. 'myModelFormset = modelformset_factory (Author, form = AuthorForm)' см: http://stackoverflow.com/questions/2853350/using-a-custom-form-in-a-modelformset-factory и https: //docs.djangoproject. ком/о/1,5/иая/форма/модель/# django.forms.models.modelformset_factory –