首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IntegrityError /send/ NULL约束失败: user_transactions.user_id

IntegrityError /send/ NULL约束失败: user_transactions.user_id
EN

Stack Overflow用户
提问于 2022-08-22 18:19:29
回答 1查看 117关注 0票数 -2

enter code here模型

类事务(models.Model):user=models.ForeignKey(CustomUser,related=‘accounts’,on_delete=models.CASCADE,blank=True) recipient_account_type = models.CharField(max_length=230) recipient_name = models.CharField(max_length=100) recipient_acount_number = models.PositiveIntegerField() recipient_routing_number = models.PositiveIntegerField() recipient_bank_name =models.PositiveIntegerField(models.PositiveIntegerField)recipient_bank_name=()=(,( decimal_places=2) transaction_date = models.DateTimeField(auto_now_add=True) transaction_ID =models.IntegerField(default=ID) description = models.CharField(max_length=1000)

表单

代码语言:javascript
复制
class TransactionForm(forms.ModelForm):
    class Meta:
        model = Transactions
        fields = ['recipient_account_type','recipient_name','recipient_acount_number',
            'recipient_routing_number','recipient_bank_name','recipient_swift_code','recipient_sending_amount','description',]
        Widget = forms.TextInput(attrs={'autofocus':'autofocus','size':'40', 'font-size':'xx-large'})

视图

代码语言:javascript
复制
@login_required(login_url='/login/')
def send(request):
    posts =Transactions.objects.filter(user=request.user)
    form =  TransactionForm()
    if request.method=="POST":
        form = TransactionForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            return redirect('/success/')
        else:
            print(form.errors)
            # messages.error(request, 'Failed, Resend')
    context = {'form':form,'posts':posts}
    return render(request, 'index_user/send-money.html', context)

**template**
{% extends 'about/user-base.html' %}
{% load crispy_forms_tags %}
{% load static %}
{% load humanize %}
{% block content %}
  
  <!-- Content
  ============================================= -->
  <div id="content" class="py-4">
    <div class="container"> 
      
  
      <div class="row mt-4 mb-5">
        <div class="col-lg-11 mx-auto">
          <div class="row widget-steps">
            <div class="col-12 step active">
              <div class="step-name">Details</div>
            
              <a href="#" class="step-dot"></a> </div>
            
          </div>
        </div>
      </div>
      <h2 class="fw-400 text-center mt-3">Send Money</h2>
      <p class="lead text-center mb-4">Send your money at anytime, anywhere in the world.</p>
      <div class="row">
        <div class="col-md-18 col-lg-7 col-xl-6 mx-auto bg-primary">
          <div class="bg-white shadow-sm rounded p-3 pt-sm-4 pb-sm-5 px-sm-5 mb-4">
            <hr class="mx-n3 mx-sm-n5 mb-4">
            <div class="bg-white shadow-sm rounded p- pt-sm-5 pb-sm-5 px-sm-5 mb-4 bg-secondary">
              <div class="text-center bg-primary p-4 rounded mb-4">
                <h3 class="text-10 text-white fw-400">${{user.account_balance|intcomma}}</h3>
                <p class="text-white">Available Balance</p>
                {% comment %} <a href="" class="btn btn-outline-light btn-sm shadow-none text-uppercase rounded-pill text-1">Withdraw Full Amount</a> </div> {% endcomment %}
            <!-- Send Money Form
            ============================ -->
            <p style="color: red; font-size:large">
            {% if messages %}
            {% for message in messages %}
            {{message}}
            {% endfor %}
            {% endif %}
            </p>
            
            <center style="background-color: #007bff;">
            <form id="form-send-money" method="POST" action="" class="bg-success" >
              {% csrf_token %}
              <div class="mb-3 pb-sm-5 px-sm-5">
                {% comment %} <label for="withdrawto" class="form-label">Withdraw From</label> {% endcomment %}
                <br>
                {% comment %} <select id="withdrawto" class="form-select px-sm-4 pb-sm-1" name="">
                  <option value="">FNMB Bank - {{user.account_number}}</option>
                </select> {% endcomment %}
              </div>
              <div id="id_long_desk" class="mb-3 px-sm-4 pb-sm-9">
                <label for="emailID" class="form-label">Recipient Full Name</label>
                <br>
              {{form.recipient_name}}
              </div>
            <div class="mb-3 px-sm-4 pb-sm-1">
              <label for="emailID" class="form-label">Recipient Account Number</label>
              <br>
              {{form.recipient_acount_number}}
            </div>
              <div class="mb-3 px-sm-4 pb-sm-1">
                <label for="emailID" class="form-label">Recipient Bank Name</label>
                <br>
              {{form.recipient_bank_name}}
              </div>
              <div class="mb-3 px-sm-4 pb-sm-1">
                <label for="emailID" class="form-label">Recipient Routing Number</label>
                <br>
                  {{form.recipient_routing_number}}
              </div>
            <div class="mb-3 px-sm-4 pb-sm-1">
              <label for="emailID" class="form-label">Recipient Swift Code</label>
              <br>
              {{form.recipient_swift_code}}
            </div>
            <div class="mb-3 px-sm-4 pb-sm-1">
              <label for="emailID" class="form-label">Recipient Account Type</label>
              <br>
              {{form.recipient_account_type}}
            </div>
            <div class="mb-3 px-sm-4 pb-sm-1">
              <label for="emailID" class="form-label">Recipient Sending Amount</label>
              <br>
              {{form.recipient_sending_amount}}
            </div>
            <div class="mb-3 px-sm-4 pb-sm-1">
              <label for="emailID" class="form-label">Description</label>
              <br>
              {{form.description}}
            </div>
            {% comment %} <div class="mb-3 px-sm-4 pb-sm-1">
              <label for="emailID" class="form-label">Fees</label>
              <br>
              $ {{form.fees}}
            </div> {% endcomment %}
              <!-- <p>Transfer Fees <span class="float-end"> 12.21 USD</span></p> -->
              <hr>
              <div class="d-grid"><button class="submit btn btn bg-white">Send</button></div>
              <hr>
            </form>
          </center>
            <!-- Send Money Form end --> 
          </div>
        </div>
      </div>
    </div>
  </div>

  <!-- Content end --> 
  
 {% endblock %}
EN

回答 1

Stack Overflow用户

发布于 2022-08-22 18:39:43

您是否检查过您的表单是否有效,如下所示?

代码语言:javascript
复制
if form.is_valid():
    obj = form.save()
else:
    # errror handling? debug with form.errors...

如果您的代码确实如上面所示,请添加更多信息(例如表单处理方法作为一个整体)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73449460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档