Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法分配"&书信电报;查询集[]>&引用;:&引用;必须是一个"&引用;实例_Python_Django - Fatal编程技术网

Python 无法分配"&书信电报;查询集[]>&引用;:&引用;必须是一个"&引用;实例

Python 无法分配"&书信电报;查询集[]>&引用;:&引用;必须是一个"&引用;实例,python,django,Python,Django,我正在尝试从Forms.py保存此字段,这似乎是导致此错误的原因:无法分配“”:“Group.vehicles”必须是“Vehicle”实例 所有内容都可以通过管理页面正确保存,但不能通过表单正确保存 class GroupForm(forms.ModelForm): vehicles = forms.ModelMultipleChoiceField(widget=forms.CheckboxSelectMultiple(), queryset=Vehicles.objects.all(

我正在尝试从Forms.py保存此字段,这似乎是导致此错误的原因:无法分配“”:“Group.vehicles”必须是“Vehicle”实例

所有内容都可以通过管理页面正确保存,但不能通过表单正确保存

class GroupForm(forms.ModelForm):
    vehicles = forms.ModelMultipleChoiceField(widget=forms.CheckboxSelectMultiple(), queryset=Vehicles.objects.all())

class Meta:
    model = Group
Models.py:

class Vehicles(models.Model):
Vehicles = models.CharField(max_length=30, null=True, blank=True)
MaxRange = models.DecimalField(null=True, max_digits=20, decimal_places=3, default=Decimal('0.000'))
Speed = models.DecimalField(null=True, max_digits=20, decimal_places=3, default=Decimal('0.000'))

def __str__(self):
    return self.Vehicles

class Group(models.Model):
group = models.CharField(max_length=30, blank=True)
vehicles = models.ForeignKey(Vehicles, null=True, on_delete=models.CASCADE)

def __str__(self):
    return self.group
“组”由一种类型的车辆组成

views.py:

def home(request):
group = Group.objects.all()
form = GroupForm()
if request.method == 'POST':
    form = GroupForm(request.POST)
    if form.is_valid():
        obj = form.save(commit=False)
        obj.vehicles = form.cleaned_data['vehicles']
        obj.save()
    return redirect('/')

context = {'group': group, 'form': form}
return render(request, 'calculator/Input.html', context)

感谢您的任何输入

无需任何复选框小部件。我删除了行:“vehicles=forms.ModelMultipleChiceField(widget=forms.CheckboxSelectMultiple(),queryset=vehicles.objects.all())”并将“vehicle”作为字段保留在Meta类下的forms.py中:它保存/用户现在只能选择一个选项。

无需复选框小部件。我删除了行:“vehicles=forms.ModelMultipleChiceField(widget=forms.CheckboxSelectMultiple(),queryset=vehicles.objects.all())”并将“vehicle”作为forms.py中Meta类下的字段保留:它保存/用户现在只能选择一个选项。

vehicles
是一个
外键,这意味着它只能包含一辆
车辆
。您可能希望改用
ManyToManyField
vehicles
是一个
ForeignKey
,这意味着它只能包含一个
Vehicle
。您可能希望改用
ManyToManyField