2017-02-12 2 views
0

Ich erhalte eine Fehlermeldung, wenn ich diesen Befehl python manage.py makemigrations blog in python django laufen in models.pyFehler, wenn ich diesen Befehl python manage.py makemigrations Blog in Python django in models.py laufen

from django.db import models 
from django.utils import timezone 

class Post(models.Model): 
    author = models.ForeignKey('auth.User') 
    title = models.CharField(max_length=200) 
    text = models.TextField() 
    created_date = models.DateTimeField(
      default=timezone.now) 
    published_date = models.DateTimeField(
      blank=True, null=True) 

    def publish(self): 
     self.published_date = timezone.now() 
     self.save() 

    def __str__(self): 
     return self.title 
    class Comment(models.Model): 
    post = models.ForeignKey('blog.Post', related_name='comments') 
    author = models.CharField(max_length=200) 
    text = models.TextField() 
    created_date = models.DateTimeField(default=timezone.now) 
    approved_comment = models.BooleanField(default=False) 

    def approve(self): 
     self.approved_comment = True 
     self.save()`enter code here` 

    def __str__(self): 
     return self.text 
+0

ich eine Klassendefinition zu sehen (mit einer inneren Klassendefinition und fehlerhaften Einrückungen?), Aber ich sehe nicht, wo dieser Code gestartet werden soll läuft, wenn das Skript ausgeführt wird? Können Sie darüber nachdenken? – Alex

+2

"Ein Fehler" ist immer der schlimmste Fehler beim Debuggen. Bitte bearbeiten Sie Ihre Frage und fügen Sie die vollständige Fehlerrückverfolgung hinzu. –

Antwort

0

Es gibt ein paar Probleme mit dem Code:

  • Einrückungen
  • Benutzerklasse Import
  • verwenden Blog statt blog.Blog

eine schnelle Lösung:

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


class Post(models.Model): 
    author = models.ForeignKey(User) 
    title = models.CharField(max_length=200) 
    text = models.TextField() 
    created_date = models.DateTimeField(
     default=timezone.now) 
    published_date = models.DateTimeField(
     blank=True, null=True) 

    def publish(self): 
     self.published_date = timezone.now() 
     self.save() 

    def __str__(self): 
     return self.title 


class Comment(models.Model): 
    post = models.ForeignKey(Post, related_name='comments') 
    author = models.CharField(max_length=200) 
    text = models.TextField() 
    created_date = models.DateTimeField(default=timezone.now) 
    approved_comment = models.BooleanField(default=False) 

    def approve(self): 
     self.approved_comment = True 
     self.save()`enter code here` 

    def __str__(self): 
     return self.text 
+0

warten, ich versuche, ich gebe Ihnen feed zurück – harri

+0

immer noch einen Fehler bei Zeile 29 'Datei" C: \ django \ membersite \ blog \ models.py ", Zeile 29 self.save()' 'Code hier eingeben ' – harri

+0

Nun, wenn Sie nicht herausfinden können, was dieser Fehler bedeutet, nicht wirklich sicher, ob Sie die Python-Grundlagen mit Django – ahmed

Verwandte Themen