Ich bin ziemlich neu in Django 1.9, und ich versuche, eine App zu machen, aber ich stieß auf diesen Fehler, ich weiß nicht, wie es zu beheben ist. Hier sind meine Fehler und Codes. Fehler:Ein IntegrityError passiert in django1.9
IntegrityError at /blogapp//post/
NOT NULL constraint failed: blogapp_blog.user_id
in models.py:
from django.db import models
from django.conf import settings
from django.contrib.auth.models import User
class Blog(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL)
title = models.CharField(max_length=50)
content = models.CharField(max_length=99999)
date = models.DateTimeField(auto_now_add=True)
def __unicode__(self):
return self.title
in views.py:
def post(request):
form = BlogText()
if request.method == 'POST':
form = BlogText(request.POST.copy())
if form.is_valid():
data = form.cleaned_data
title = data['title']
content = data['content']
if not Blog.objects.all().filter(title=title):
blog = Blog.objects.create(title=title,content=content,date=timezone.now())
return render(request,'blogapp/postok.html')
else:
return HttpResponse('The title is used')
else:
form = BlogText()
return render(request,'blogapp/post.html',{'form':form})
Muss ich dies in views.py
hinzufügen müssen:
if request.user.is_authenticated():
Jemand bitte helfen Sie mir. Ich denke, ich bin wirklich schlecht darin.
_Wenn der Benutzer derzeit nicht angemeldet ist, wird der Benutzer auf eine Instanz von AnonymousUser_ .. von [documentation] (https://docs.djangoproject.com/en/1.9/ref/request-response/#django) festgelegt. http.HttpRequest.user) – AKS
@Alasdair Danke. Ich habe meine Antwort aktualisiert. – AKS
Ja, der Dekorateur funktioniert, aber die Benutzer können den Artikel des anderen sehen. Eigentlich möchte ich das nicht erreichen. – CodeReapper