Django: la tabla no existe

Dejé caer alguna mesa relacionada con una aplicación. y otra vez intentado el comando syncdb

python manage.py syncdb 

Muestra error como

 django.db.utils.ProgrammingError: (1146, "Table 'someapp.feed' doesn't exist") 

modelos.py

 class feed(models.Model): user = models.ForeignKey(User,null=True,blank=True) feed_text = models.CharField(max_length=2000) date = models.CharField(max_length=30) upvote = models.IntegerField(default=0) downvote = models.IntegerField(default=0) def __str__(self): return feed.content 

¿Qué puedo hacer para obtener las tablas para esa aplicación?

  1. caer mesas (ya lo hiciste),
  2. comenta el modelo en model.py,
  3. y ..

Si la versión django> = 1.7:

 python manage.py makemigrations python manage.py migrate --fake 

más

 python manage.py schemamigration someapp --auto python manage.py migrate someapp --fake 
  1. comenta en tu modelo en modelos.py
  2. vaya al paso 3. PERO esta vez sin –fake

Para aquellos que todavía pueden estar teniendo problemas (como yo), pruebe esto:

Comenta todas las URL en las urls.py la aplicación principal

A continuación, seguir adelante y ejecutar las migraciones:

 $ ./manage.py makemigrations $ ./manage.py migrate 

El problema se solucionó eliminando el () ‘s

  solved_time = models.DateTimeField('solved time', default=timezone.now()) 

a

  solved_time = models.DateTimeField('solved time', default=timezone.now) 

Obtuve esta respuesta de reddit

Ninguna de las soluciones anteriores funcionó para mí, finalmente lo resolví

 sudo systemctl stop mysql.service sudo apt-get purge mysql-server sudo apt-get install mysql-server sudo systemctl stop mysql.service 

En mi caso, el código que saqué había manejado = Falso y quería que Django mantuviera las tablas.

Pero cuando hice las migraciones, las tablas personalizadas no se detectaban o recibía el error de que app_name.Table_name no existe

Intenté lo siguiente:

  1. elimine todos los archivos de migración dentro de la carpeta de migraciones (excepto el archivo init .py) y luego realice migraciones y finalmente migre
  2. por encima de 2 respuestas
  3. esta

PD: esta solución solo es factible si la copia de seguridad está presente o si los datos no son importantes o si acaba de comenzar a crear las tablas, ya que purgar mysql provocará la pérdida de datos

Tuve este problema cuando jugaba con la misma estructura de base de datos en producción frente a desarrollo. Si bien la eliminación y recreación de tablas probablemente resolverá el problema, vale la pena revisar su propia base de datos y ver si el modelo es realmente correcto. Para mí, creé incorrectamente la base de datos de desarrollo con los nombres de las tablas en minúsculas, mientras que en producción, la primera letra de las tablas estaba en mayúsculas. Utilicé el comando python manage.py inspectdb en la base de datos de producción, lo comparé con el modelo y me di cuenta de que en el modelo intentaba insertar datos en la tabla “prueba” en lugar de “Prueba”, por ejemplo. Espero que ayude a algunos de ustedes en el futuro.