я новый ученик django 3. пытаясь создать приложение для блога, в котором пользователь может создать внешний ключ статьи и автора статьи, он будет зарегистрирован в идентификаторе пользователя. Для этого мой model.py имеет значение
from django.db import models
# Create your models here.
class Author(models.Model):
name = models.CharField(max_length=50)
bio = models.TextField()
def __str__(self):
return self.name
class Category(models.Model):
category = models.CharField( max_length=50)
description = models.TextField()
def __str__(self):
return self.category
class Article(models.Model):
title = models.CharField(max_length=50)
image = models.ImageField(upload_to="images/")
content = models.TextField()
category = models.ForeignKey(Category, on_delete=models.CASCADE)
author = models.ForeignKey(Author, on_delete=models.CASCADE)
def __str__(self):
return self.title
в соответствии с моделью, которую я создал с помощью forms.py
from django import forms
from django.forms import ModelForm
from .models import *
class ArticleForm(forms.ModelForm):
class Meta:
model = Article
fields = '__all__'
Чтобы представить эту форму, моя функция views: ...
from django.shortcuts import render, redirect
from .models import *
from .forms import *
# Create your views here.
def index(request):
articles = Article.objects.all()
form = ArticleForm()
if request.method == 'POST':
form = ArticleForm(request.POST)
if form.is_valid():
form.save()
return redirect('bloglist')
context = {'articles':articles, 'form': form}
return render(request, 'bloglist.html', context)
и код шаблона ...
<form method="POST" action="" class="form-inline">
{% csrf_token %}
{{form }}
<input class="btn btn-primary mb-2" type="submit" name="Submit">
</form>
Таким образом, обычно я сохраняю данные в базе данных, но при этом поле автора нужно устанавливать вручную, но я хочу знать, как установить это авторское поле как зарегистрированный идентификатор пользователя? Я искал много сайтов на Google и YouTube, но не нашел свой ответ. кто-нибудь, пожалуйста, помогите мне решить проблему? как установить поле автора как зарегистрированный идентификатор пользователя?