I get an error when downloading
I understand the model lacks the user id, but where it is missing, I can not understand. Django seems to be doing all the work for me))
IntegrityError at / upload / NOT NULL constraint failed: blog_post.author_id
Download handler (views.py)
def model_form_upload(request): if request.method == 'POST': form = PostForm(request.POST, request.FILES) if form.is_valid(): # file is saved form.save() return HttpResponseRedirect('/') else: form = PostForm() return render(request, 'upload.html', {'form': form}) Model (models.py)
SCRIPT_TYPE = ( ('SINGLE', 'SINGLE'), ('MULTI', 'MULTI'), ) class Post(models.Model): author = models.ForeignKey('auth.User', null=False, verbose_name="Автор", ) title = models.CharField(max_length=200, null=False, verbose_name="Заголовок", ) type = models.CharField(max_length=10, choices=SCRIPT_TYPE, default='MULTI', null=False, verbose_name="Тип", ) text = models.TextField(null=True, verbose_name="Описание", ) published_date = models.DateTimeField(blank=True, null=True, verbose_name="Дата создания", ) script = models.FileField(null=False, blank=True, upload_to="scripts/", verbose_name="Скрипт", ) def publish(self): self.published_date = timezone.now() self.save() def __str__(self): return self.title Html file
{% load staticfiles %} <html> <head> <title>Django blog</title> <link href="https://fonts.googleapis.com/css?family=Lobster&subset=latin,cyrillic" rel="stylesheet" type="text/css"> <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"> <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css"> <link rel="stylesheet" href="{% static 'css/main_window.css' %}"> </head> <body> <h1>New post</h1> <form method="post" class="post-form" enctype="multipart/form-data" action="/upload/"> {% csrf_token %} {{ form.as_p }} <button type="submit" class="save btn btn-default">Save</button> </form> </body> </html>