Аргумент не может быть типа 'NoneType', в Django 3.0 он должен быть текстового типа
Когда я пытаюсь создать новое сопроводительное письмо, я получаю эту ошибку
Django = 3.0
Python = 3.7
Вот мой cover_letters_list.django.html
<tr>
<td colspan="4">
<span class="form-tag {% if not name_form %} hidden {% endif %}">
<form class="form-inline" target="" method="POST" style="margin-top: 0px;">
{% csrf_token %}
<input type="text" class="span6" name="name" value="{{name_form.name.value}}" placeholder="Cover letter name">
<button type="submit" class="btn btn-primary">Create</button>
<button type="button" class="btn cancel-btn">Cancel</button>
</form>
</span>
<span class="button-tag {% if name_form %} hidden {% endif %}">
{% trans "No data found." %} Click to <a class="new_cover" href="#"> add a new cover letter</a>
</span>
</td>
</tr>
вот мой views.py
class CoverLetterListView(View):
def get(self, request):
client = request.user.client
cover_letters = CoverLetter.objects.filter(client=client, deleted=False,
is_master=True)
return render(request, 'quotes/covers/cover_letters_list.django.html',
{'cover_letters': cover_letters})
def post(self, request):
client = request.user.client
name_form = forms.CoverLetterNameForm(request.POST)
cover_letters = CoverLetter.objects.filter(client=client, deleted=False)
if name_form.is_valid():
name_form.save_new(client=client)
else:
logger.warning(request, 'Invalid form')
return render(request, 'quotes/covers/cover_letters_list.django.html',
{'name_form': name_form, 'cover_letters': cover_letters})
вот мой forms.py
class CoverLetterNameForm(forms.ModelForm):
class Meta:
model = CoverLetter
fields = ('name',)
def save_new(self, client, master=True):
instance = self.save(commit=False)
instance.is_master = master
instance.client = client
return instance.save()
Рассмотрим мой файл models.py
class CoverLetter(models.Model):
name = models.CharField(max_length=120)
title = models.CharField(max_length=120, blank=True, null=True)
is_master = models.BooleanField(default=False)
show_logo = models.BooleanField(default=False)
show_company_name = models.BooleanField(default=False)
logo = models.ImageField(upload_to=get_logo_path, blank=True, null=True)
text = BleachField(blank=True, null=True)
deleted = models.BooleanField(default=False)
client = models.ForeignKey(Client,on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
modified_at = models.DateTimeField(auto_now=True)
def __str__(self):
return self.name
посмотрите на трассировку моей ошибки
Я отредактировал свой вопрос, добавив свой models.py и трассировку ошибки, пожалуйста, посмотрите
Как я могу решить эту ошибку