Я создал проект Django, используя бэкэнд PostGIS, который, насколько я могу судить, кажется, все хорошо. Теперь я создал приложение в этом проекте следующим образом:
from django.contrib.gis.db import models
class MyPlace(models.Model):
name = models.CharField(max_length=255)
location = models.PointField()
objects = models.GeoManager()
Это должна быть простая модель для пары имя / точка (будет построена позже), но база данных не создает поле местоположения. Ошибка отсутствует, и поле игнорируется до тех пор, пока я не попытаюсь получить доступ к модели (используя Admin), где она выкрикивает сообщение «DatabaseError: column myproj_myplace.location не существует»
Я действительно не уверен, что здесь происходит, так как нет ошибки при разборе (syncdb работает без исключения). Когда я запустил команду sql для модели, это то, что я получил:
BEGIN;
CREATE TABLE "myproj_myplace" (
"id" serial NOT NULL PRIMARY KEY,
"name" varchar(255) NOT NULL
)
;
COMMIT;
Опять нет полей! Есть идеи?
У меня есть и 'django.contrib.gis', и мое приложение в моем INSTALLED_APPS, и я построил схему базы данных с поддержкой PostGIS (добавив метод файла функций sql, а не метод шаблона)
Заранее благодарим за любую помощь
Это делается из пустой схемы, а таблица создается с нуля