为什么many2many领域没有得到django的保存?

时间:2015-02-06 02:21:02

标签: python django view m2m

除了user,package,travellers字段(many2manyfield)之外,CustomizeRequest模型已保存

destinations个字段。

任何帮助都将非常感谢!!!

models.py

class CustomizeRequest(models.Model):
    user = models.ForeignKey(User)
    package = models.CharField(max_length   =20,null=True,blank=True)
    travellers = models.CharField(max_length=2)     
    destinations = models.ManyToManyField(DestinationChoices)

    def __str__(self):
        return self.travellers

views.py

def packageDetails(request,slug):
    package = Package.objects.get(slug=slug)
    if request.method=="POST":
        form = CustomizeRequestForm(request.POST)
        if form.is_valid():
            customize_request = form.save(commit=False)
            customize_request.user = request.user           
            customize_request.package = package
            customize_request.save()
            form.save_m2m()
        else:
            print("errorerrorerrorerrorerror")
    else:       
        print("notPostData")

    crform = CustomizeRequestForm()
    elements = CustomizeRequest.objects.filter(user=request.user,package=package)
    destinations = DestinationChoices.objects.all()
    context = {'package': package,'crform':crform,'elements':elements,'destinations':destinations }
    return render(request,'tour/packageDetails.html',context)

forms.py

nTravellerCHOICES = (('1', '1',), ('2', '2',), ('3', '3',), ('4', '4',), ('5', '5',), ('6', '6',), ('7', '>6',))

class CustomizeRequestForm(forms.ModelForm):
    travellers = forms.ChoiceField(widget = forms.RadioSelect,choices = nTravellerCHOICES)
    destinations = forms.ModelMultipleChoiceField(required=False,queryset=DestinationChoices.objects.all())

    class Meta:
        model = CustomizeRequest
        fields = ("travellers","destinations",)

不粘贴模板代码,因为我很确定问题出在模型或视图代码中,因为它是一个存储问题

0 个答案:

没有答案