Django - DatabaseError: Brak takiej tabeli
Zdefiniowałem dwa modele:
<code>class Server(models.Model): owners = models.ManyToManyField('Person') class Person(models.Model): name = models.CharField(max_length=50) admin.site.register(Server) admin.site.register(Person) </code>
Potem sprawdziłem nawet sql, tylko dla zabawy:
<code>BEGIN; CREATE TABLE "servers_server_owners" ( "id" integer NOT NULL PRIMARY KEY, "server_id" integer NOT NULL, "person_id" integer NOT NULL, UNIQUE ("server_id", "person_id") ) ; CREATE TABLE "servers_server" ( "id" integer NOT NULL PRIMARY KEY, "name" varchar(50) NOT NULL, "port" integer unsigned NOT NULL, "state" integer NOT NULL ) ; CREATE TABLE "servers_person" ( "id" integer NOT NULL PRIMARY KEY, "name" varchar(50) NOT NULL ) ; COMMIT; </code>
Tam nawet mówiCREATE TABLE "servers_server_owners"
Pobiegłemsyncdb
zainstalować nowe modele w bazie danych. Poszedłem do interfejsu administratora, aby zdefiniować niektóre obiekty do zabawy, ale otrzymałem następujący błąd:
<code>DatabaseError at /admin/servers/server/1/ no such table: servers_server_owners </code>
Wyłączyłem serwer dev, uruchomiłemsyncdb
ponownie uruchomiłem serwer: wciąż ten sam problem. Dlaczego nie może znaleźć tabeli, mimo że właśnie powiedział mi, że utworzył identyfikator?