提交时表单未保存在数据库中

时间:2020-09-28 21:34:03

标签: python django

我正在Django上的一个项目上工作,用户可以在其中输入表单值并使用POST请求提交。提交表单后,数据不会保存在数据库中。提交表单后如何实现保存数据。

型号:

class DataInfo(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE)
    beneficiary_name =  models.CharField(max_length=250, blank=True)
    beneficiary_bank_name =  models.CharField(max_length=250, blank=True)
    beneficiary_account_no =  models.CharField(max_length=250, blank=True)  
    beneficiary_iban =  models.CharField(max_length=250, blank=True)
    beneficiary_routing_no =  models.CharField(max_length=250, blank=True)  
    amount =  models.IntegerField(blank=True)
    date = models.DateTimeField(auto_now_add=True)  

    class Meta:
        verbose_name = 'DataInfo'
        verbose_name_plural = 'DataInfo'
        ordering = ['-date']

    '''Method to filter database results'''
    def __str__(self):
        return self.user.username

观看次数:

@login_required
def TransferView(request):
    form = DataForm(request.POST)
    if request.method == "POST":
        if form.is_valid():
            pp = form.save(commit=False)
            pp.user = request.user
            pp.save()
            return redirect('site:transfer_cot')
    else:
        form = DataForm()

    context = {
        'form':form
    }
    return render(request, 'transfer.html', context)

表格:

class DataForm(forms.ModelForm):
class Meta:
    model = DataInfo
    fields = ('beneficiary_name',  'beneficiary_bank_name', 'beneficiary_account_no', 'beneficiary_iban', 'beneficiary_routing_no', 'amount')

模板:

 <form method="POST" action="{% url 'site:transfer_cot' %}">
 {% csrf_token %}
 {{ form }}
 <button type="submit" class="btn btn-secondary">Submit</button>
 </form> 

0 个答案:

没有答案