Я работаю над сценарием, в котором я создал модель состояния. Пользователь может создать новый статус. Я проверил другие ответы для этого, но все они казались специфическими для кода.
Это models.py
:
class wall_status(models.Model):
status = models.OneToOneField(
CustomUser,
on_delete=models.CASCADE,
primary_key=True,
)
user = models.ForeignKey(
settings.AUTH_USER_MODEL,
related_name="custom_student_status",
default=1,
on_delete=models.CASCADE)
new_status = models.CharField(max_length=2000, default='')
Это forms.py
:
class statusForm(forms.ModelForm):
new_status = forms.CharField( widget=forms.Textarea)
class Meta:
model = wall_status
fields = ('new_status', )
Это мой views.py
:
def add_status(request):
if request.method == "POST":
form = statusForm(request.POST)
if form.is_valid():
post = form.save(commit=False)
post.user = request.user
post.save()
return redirect('wall')
else:
form = statusForm()
btn = 'Add'
title = 'Interests'
return render(request, 'user/profile_info_update.html', {'form': form, 'btn': btn,
'title': title})
Это шаблон:
{% block content %}
<h2>Sign up</h2>
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">{{ btn }}</button>
</form>
{% endblock %}
Теперь еще более запутанно то, что мне удалось 5 раз успешно добавить записи в базу данных, после чего она начала выдавать ошибку. Если я вручную удаляю запись, а затем снова добавляю из runserver
, это работает, но как только количество записей в таблице равно 5, я получаю сообщение об ошибке. Есть идеи?
Спасибо