Когда я создаю пост, он показывает эту ошибкуПоле 'id' ожидало число, но получило 'd'. ПРИМЕЧАНИЕ: пост создается, но я получаю эту ошибку

Я пробовал много вещей, чтобы решить эту проблему, но они не работают, поэтому я хочу спросить кого-то, кто лучше меня здесь. Я пробовал использовать поле slug, оно не показывает этого, но я хочу использовать id, когда он начинает показывать ошибку. ПРИМЕЧАНИЕ: пост создается отлично, а потом появляется эта ошибка, но пост создан. Я пытался создать пост с помощью формы из фронтенда

позвольте мне показать некоторый код views.py

def blogpost(request):
    if request.method == "POST":
        form = BlogPostForm(request.POST, request.FILES)
        if form.is_valid():
            form.instance.creator = request.user
            form.save()  # ← no commit=False
            messages.success(request, f'Hi, Your Post have been sent for review and would be live soon!')
            return redirect('blog:home')
    else:
        form = BlogPostForm()

    context = {
        'form': form
    }
    return render(request, 'blog/AddPost.html', context)

# this is the blog list view
def blog_list(request):
    posts = Blog.objects.filter(status='published').order_by('-created')
    categoriess = Category.objects.all()

    context = {
        'posts': posts,
        'categories': categoriess,
    }
    return render(request, 'blog/bloghome.html', context)

#this is the blog detail view
def blog_detail(request, post_id):
    post = get_object_or_404(Blog, id=post_id)
    # post = Blog.objects.filter(slug=blog_slug)
    categories = Category.objects.all()
    comments = post.comments.filter(active=True)
    new_comment = None
    if request.method == "POST":
        comment_form = CommentForm(request.POST)
        if comment_form.is_valid():
            new_comment = comment_form.save(commit=False)
            new_comment.post = post
            new_comment.name = request.user
            new_comment.save()
    else:
        comment_form = CommentForm()

    context = {
        'post': post,
        'comments': comments,
        'comment_form': comment_form,
        'new_comment': new_comment,
        'categories': categories,
    }
    return render(request, 'blog/blog-details.html', context)

models.py

class Blog(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid4, editable=False)
    title = models.CharField(max_length=10000, null=True, blank=True, verbose_name="Title")
    content = models.TextField(verbose_name="Post Content")
    # slug = models.SlugField(unique=True)
    image = models.ImageField(upload_to="blog-images/%Y/%m/%d/", verbose_name="Post Thumbnail")
    category = models.ForeignKey(Category, on_delete=models.DO_NOTHING, verbose_name="Category", null=True)
    tags = models.ManyToManyField(Tag, related_name='tags', verbose_name="Tag")
    status = models.CharField(choices=STATUS_CHOICE, default="published", max_length=150, verbose_name='Status')
    creator = models.ForeignKey(User, on_delete=models.DO_NOTHING, verbose_name="Creator", null=True)
    created = models.DateTimeField(auto_now_add=True ,verbose_name="Created", null=True)

    def get_absolute_url(self):
        return reverse('blog:blog-details', kwargs={'post_id': self.pk})
        # return reverse('blog:blog-details', args=[self.slug])
        # return reverse('blog:blog-details', kwargs={'pk': self.pk})
    
    class Meta:
        verbose_name = "Blog Post"
        verbose_name_plural = "Blog Posts"

forms.py

class BlogPostForm(forms.ModelForm):
    image = forms.ImageField(widget=forms.ClearableFileInput(attrs={'multiple': True}), required=True)
    # content = forms.CharField(widget=forms.Textarea(attrs={'class': 'input is-medium'}), required=True)
    tags = forms.CharField(widget=forms.TextInput(attrs={'class': 'input is-medium'}), required=True)

    class Meta:
        model = Blog
        fields = ('title', 'content', 'image', 'category', 'tags')

addpost.html

<form action="" method="POST" enctype="multipart/form-data">
                            {% csrf_token %}
                            {{form|crispy}}
                        <div class="form-group">
                            <button class="btn theme-bg rounded" type="submit">Send Message</button>
                        </div>
                        </form>

urls.py

from django.urls import path
from . import views


app_name = 'blog'

urlpatterns = [
    path('', views.blog_list, name="home"),
    # path('post/<uuid:posts_id>', views.blog_detail, name="blog-details"),
    path('<uuid:post_id>', views.blog_detail, name='blog-details'),
    path('post/categories/<slug:category_slug>', views.category, name="category"),
    path('post/tags/<slug:tag_slug>', views.tag, name="tags"),
    path('post/create/', views.blogpost, name="add-post"),
]

traceback

любая помощь будет признательна

Вернуться на верх