ValueError в / post_create / неверный литерал для int () с основанием 10: 'manish' - PullRequest
0 голосов
/ 01 декабря 2019

Это мои взгляды: я хочу создать пост с автором в разных моделях

def post_create(request):
author, created = Author.objects.get_or_create(name=request.user.username)
form = CreateForm(request.POST or None , request.FILES or None)
if form.is_valid():
    form.instance.author = author
    form.save()
    return redirect('post_list')
context = {
    'form': form 
}
return render(request,'post/post_create.html',context)

Это мои модели. Я создал автора и пост здесь.

from django.db import models
from django.contrib.auth.models import User

class Post(models.Model):
title = models.CharField(max_length=100)
author = models.ForeignKey('Author',on_delete=models.SET_NULL,null=True)
story= models.TextField()
image= models.ImageField()
slug = models.SlugField()
def __str__(self):
    return self.title


class Author(models.Model):
name = models.ForeignKey(User,on_delete=models.CASCADE)


def __str__(self):
    return self.name.username

1 Ответ

0 голосов
/ 01 декабря 2019
# you just have to assign form object author value

def post_create(request):
    author, created = Author.objects.get_or_create(name=request.user.username)
    form = CreateForm(request.POST or None , request.FILES or None)
    if form.is_valid():
        form_obj = form.save(commit=False)
        form_obj.author = author
        form_obj.save()
        return redirect('post_list')
    context = {
        'form': form 
    }
    return render(request, 'post/post_create.html', context)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...