2017-07-10 4 views
0

Es gibt einen OperationalError in meinem models.py-Code. Kann jemand das Problem lokalisieren? Ich habe versucht, den Cache zu löschen (zusammen mit früheren Migrationen) und sie zu tun - hilft das Problem nicht.OperationalError in Django App: models.py

from django.db import models 

# Create your models here. 

class Topic(models.Model): 
    """A post within a blog.""" 
    text = models.CharField(max_length=200) 
    date_added = models.DateTimeField(auto_now_add=True) 

    def __str__(self): 
     """Return a string representation of a model.""" 
     return self.text 

class Post(models.Model): 
    """Class for Blog Post entries.""" 
    topic = models.ForeignKey(Topic) 
    text = models.TextField() 
    date_added = models.DateTimeField(auto_now_add=True) 

    class Meta: 
     verbose_name_plural = 'posts' 

    def __str__(self): 
     """Return a string representation of the model.""" 
     return self.text[:50] + "..." 

Es gibt mir die folgenden Fehler, wenn dies hilft:

OperationalError at /admin/blogs/post/ 
no such table: blogs_post 

admin.py:

from django.contrib import admin 

# Register your models here. 

from blogs.models import Topic, Post 

admin.site.register(Topic) 
admin.site.register(Post) 
+2

Bitte fügen Sie die Fehlerverfolgung hinzu, die Django Ihnen gibt. –

+0

Machst du 'manage.py makemigrations' und' manage.py migrieren'? –

+0

Ja zu beiden @JohnGordon – Thudiology

Antwort

0

Wenn Sie einen Klassennamen geändert haben, dann haben Sie wahrscheinlich Objekte mit der haben alter Klassenname, für den die Migration die Tabelle nicht finden kann.

Löschen Sie die db.sqlite3 Datei im Projektordner. Löschen Sie alle vorherigen Migrationen. Dann makemigrations dann migrate. Dies setzt im Grunde alles zurück und löscht alle Objekte. Sie müssen Ihren Superuser anschließend auch neu erstellen.

Hope dies hilft ,.

+0

Wow! Ich danke dir sehr! Arbeitete gern einen Charme. ;-) – Thudiology

Verwandte Themen