Im пытается создать новую книгу и просмотреть по запросу.POST. Проблема здесь заключается в том, что данные должны перейти к двум моделям с внешними ключами. Вот request.POST:Django добавить данные формы в две модели
def add(request):
if request.method == 'POST':
result = Review.objects.addBook_and_Review(
user=request.session['id'],
title=request.POST['title'],
author=request.POST['author'],
new_author=request.POST['new_author'],
review=request.POST['review'],
rating=request.POST['rating']
)
return redirect('add')
else:
return render(request, 'books/add.html')
А вот обычай менеджер и две модели (обзор и книги). Обратите внимание на модель обзора с внешними ключами.
class ReviewManager(models.Manager):
def addBook_and_Review(self, **kwargs):
#custom manager code here
return True
class BookManager(models.Manager):
print('hit book manager')
pass
class User(models.Model):
name = models.CharField(max_length=200)
alias = models.CharField(max_length=200)
email = models.EmailField()
pw_hash = models.CharField(max_length=200)
created_at = models.DateField(auto_now_add=True)
updated_at = models.DateField(auto_now=True)
objects = UserManager()
class Book(models.Model):
title = models.CharField(max_length=200)
author = models.CharField(max_length=200)
created_at = models.DateField(auto_now_add=True)
updated_at = models.DateField(auto_now=True)
objects = BookManager()
class Review(models.Model):
review = models.CharField(max_length=1000)
rating = models.CharField(max_length=200)
created_at = models.DateField(auto_now_add=True)
updated_at = models.DateField(auto_now=True)
user = models.ForeignKey(User, on_delete=models.CASCADE)
book = models.ForeignKey(Book, on_delete=models.CASCADE)
objects = ReviewManager()
Итак, в чем проблема? – ozgur
Помимо того факта, что вы не проверяете свои данные; вы, безусловно, должны использовать форму для этого. –