Python Django:以空QueryDict作为初始数据的多对多字段验证失败
设置:Python Django:以空QueryDict作为初始数据的多对多字段验证失败,python,django,Python,Django,设置: Python3.5.1和Django 1.9 我有一个基于类的通用视图CreateRentView在模型Rent上运行。我实施了一个定制的ModelFormRentForm来实施额外的验证(例如,确保start\u time),我相信这是您租赁对象的选择 如果您在选择中使用整数,则应使用IntegerField。对于CharField,请使用字符串。我相信这是您租用对象的选择 如果在选择中使用整数,则应使用IntegerField。对于CharField,使用字符串将对象建模为mode
- Python3.5.1和Django 1.9
- 我有一个基于类的通用视图
在模型CreateRentView
上运行。我实施了一个定制的Rent
ModelForm
来实施额外的验证(例如,确保RentForm
start\u time),我相信这是您租赁对象的选择
如果您在选择中使用整数,则应使用IntegerField。对于CharField,请使用字符串。我相信这是您租用对象的选择
如果在选择中使用整数,则应使用IntegerField。对于CharField,使用字符串将对象建模为model
中的多对多字段:class Rent(models.model):Rent\u objects=models.ManyToManyField(RentalObject,…),如果我不重写Rent
的“get\u form()呈现以下HTML代码的方法:MB1 CB1…在AJAX请求后呈现相同的结果。如果仍然不起作用,您可以尝试不使用AJAX的表单并共享您的模型吗?表单可以不使用AJAX工作,但也可以使用AJAX(如果RentCreateView
不被覆盖;即,为模型get_form()
)提供默认的RentalObject
。可以在上找到模型。QuerySet
rental\u对象的建模与模型
中的多对多字段的建模相同:类租金(models.model):rental\u对象=模型。ManyToManyField(RentalObject,…)如果我不重写Rent
的`get_form()方法,则呈现以下HTML代码:MB1 CB1…在AJAX请求后呈现相同的内容。您是否可以尝试不使用AJAX的表单,并在仍然不起作用的情况下共享您的模型?表单可以不使用AJAX,但也可以使用AJAX(如果RentCreateView
不被覆盖;即,为模型get_form()
)提供默认的RentalObject
。可以在上找到模型。QuerySet
def get_form(self): form = super(generic.CreateView, self).get_form() # Rental objects are retrieved via AJAX after start and end time is defined. form.fields["rental_objects"].queryset = RentalObject.objects.none()