Вставка данных в модели, имеющие внешний ключ в Django
Я хочу выполнить следующий запрос в моделях Django, где image и caption - поля модели posts, а user - внешний ключ модели posts :
insert into posts values('" + user + "','" + image + "','" + caption + "')
Вот мои модели: #posts model
class Posts(models.Model):
user=ForeignKey(User, on_delete=models.CASCADE)
image=ProcessedImageField(upload_to="/images",help_text="Post",
verbose_name="Post",
processors=[ResizeToFill(400, 400)],
format='JPEG',
options={'quality': 80})
caption=models.CharField(max_length=40,null=True,default=" ",blank=True)
def __str__(self):
return self.user.username
#модель пользователя the default user model
#views
def UploadPost(request):
if 'user' in request.session:
if request.method=='POST':
post_form=UploadPostForm(request.POST, request.FILES,instance=request.user)
if post_form.is_valid():
post_form.save()
messages.success(request,"post uploaded")
else:
return error
else:
post_form=UploadPostForm(instance=request.user)
return render(request, 'users/upload_post.html', context={'post_form': post_form})
else:
return redirect('login')
#html
{% extends "users/base.html" %}
{% load static %}
{% block content %}
<div class="container text-center">
{% if messages%}
{% for msg in messages%}
{{msg}}
{%endfor%}
{%endif%}
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
{{post_form.as_p}}
<button class="btn btn-outline-dark"
type="submit">Upload</button>
</form>
<a href="{% url 'logout'%}">logout</a>
</div>
{% endblock content %}
когда я нажимаю на кнопку загрузки, появляется сообщение об успехе, но сообщение не загружается