为什么在Django有很多油田没有得到拯救?

2024-09-30 06:11:15 发布

您现在位置:Python中文网/ 问答频道 /正文

正在为CustomizeRequest模型保存user,package,travellers字段,但destinations字段(many2manyfield)除外。你知道吗

任何帮助都将不胜感激!!!你知道吗

型号.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

视图.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)

表单.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",)

没有粘贴模板代码,因为我很确定问题在于模型或视图代码,因为这是一个保存问题


Tags: pyformpackageobjectsmodelsrequestformsclass

热门问题