User has only change_post permission. I want to check in practice via shell if it works. It hasn't add_post permision. Creating an instance of a Post class with an user attribut it doesn't raise an error. How the user can try to 'add post' via shell?
user.get_user_permissions() # {'blog.change_post'}
user.has_perm('blog.add_post') # False
post = Post(title='New Post', body='...', author=user, status=Post.Status.PUBLISHED)
user.blog_posts.first() # <Post: Test Post>