Как проверить, существует ли запись в django mysql перед вставкой в базу данных

Прошу прощения, я все еще новичок в djando framework. Эту ошибку я всегда получаю, когда запускаю его.

Представление finance_lens_app.views.acct_type не вернуло объект HttpResponse. Вместо этого оно вернуло None. Это моя модель

class Acct_type(models.Model):
    Aid=models.AutoField(primary_key=True)
    acct_type_name=models.CharField(max_length=200)
    class Meta:
        db_table="Acct_Type"

Это мое видение.

def acct_type(request):
    if request.method=='POST':
        request.POST.get('acct_type_name')
        acct_type_record=Acct_type()   
        acct_type_record.save()        
        messages.success(request, 'Account Type Added Successfully...')
        return render(request, "admin_opera/acct_type.html")  

Мой интерфейс HTML

<form method="POST"> 
  {% csrf_token %}
    <div class="input-group mb-3">
     <select name="acct_type_name" id="acct_type_name" class="form-control">
              <option value="Assets">Assets</option>
              <option value="Liabilities">Liabilities</option>
              <option value="Equities">Equities</option>
              <option value="Incomes">Incomes</option>
              <option value="Expenses">Expenses</option>
              <option value="Expenses2">Expenses2</option>
              <option value="Expenses3">Expenses3</option>
    </select>
   
   </div>
      <input class="btn btn-primary btn-lg" type="submit" name="submit" value="Add Account">
</form>

Вам нужно получить значение acct_type_name из формы, а затем создать экземпляр Acct_type и сохранить.

def acct_type(request):
    if request.method=='POST':
        acct_type_name = request.POST.get('acct_type_name')
        acct_type_record=Acct_type(acct_type_name = acct_type_name)   
        acct_type_record.save()        
        messages.success(request, 'Account Type Added Successfully...')
        return render(request, "admin_opera/acct_type.html")  

Если вы хотите проверить, существует ли запись, вам нужно реализовать функцию clean через Django form.

Вернуться на верх