Q:

How to fix 'Post with this User already exists' error on Django while trying to add a new post?

I have a create_post view through which I try to add a new post to the blog I am working on. However, when I hit 'Submit' after filling out the form which includes User(a dropdown menu of all of the registered Users), Title, and Text, I get Post with this User already exists. As can be seen below, post.user has a foreignkey, User. Isn't suppose to mean that one Post can have only one user(author), and A User may have many posts. Why am I not allowed to add another post the same user?
Also, how do I utilize Django's built-in components to display a message such as 'Posting as {{user.username}} or Commenting as {{user.username}}' if user is authenticated. 
Instead of having to write down a username in a textbox while leaving a comment, I would like to fetch username if user's logged in and not ask user to write a username in a textbox for I believe it makes no sense. I am thinking I may need to use widgets in forms.py and use HiddenInputs() maybe? 
I apologize if I violate any community rules since I have recently joined this community and am still trying to figure out the norms and rules.
models.py
class Post(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    title = models.CharField(max_length=200)
    text = models.TextField()
    published_date = models.DateTimeField(auto_now=True)

    def summary(self):
        """Return a summary for very long posts to
        get a glimpse from admin panel"""
        return self.text[:100]

    def pub_date_pretty(self):
        return self.published_date.strftime('%b %e, %Y')

    def __str__(self):
        """String representation"""
        return self.title

    def get_absolute_url(self):
        """Returns the url to access a detailed post"""
        return reverse('post-detail', kwargs={"pk": self.pk})

    class Meta:
        ordering = ['-published_date']
        unique_together = ('user',)

forms.py
from django import forms
from .models import Post, Comment

class PostForm(forms.ModelForm):
    class Meta():
        model = Post
        fields = ['user', 'title', 'text',]

class CommentForm(forms.ModelForm):
    class Meta:
        model = Comment
        fields = ('user', 'text',)

views.py
from django.shortcuts import render, redirect
from django.views.generic import TemplateView
from .models import Post, Comment
from django.utils import timezone
from django.views.generic import ListView, DetailView
from .forms import PostForm, CommentForm
from django.contrib.auth.decorators import login_required
from django.shortcuts import get_object_or_404

@login_required
def create_post(request):
    if request.method == 'POST':
        post_form = PostForm(request.POST)

        if post_form.is_valid():
            post = post_form.save(request)
            post.save()
        else:
            print(post_form.errors)
    else:
            post_form = PostForm()

    context = {
        'post_form': post_form,
    }

    return render(request, 'blog/addpost.html', context )

def add_comment_to_post(request, pk):
    post = get_object_or_404(Post, pk=pk)
    if request.method == 'POST':
        form = CommentForm(request.POST)

        if form.is_valid():
            comment = form.save(commit=False)
            comment.post = post
            comment.save()
            return redirect('post-detail', pk=pk)

    else:
        form = CommentForm()
    return render(request, 'blog/add_comment_to_post.html', {'form': form,
                                                             })

A:

In Post.Meta you have defined a unique_together constraint with just user in it. This should  be removed
class Meta:
    ordering = ['-published_date']
    unique_together = ('user',)  # This line here

