Django GenericSitemap: Проблема с моделью
Я пытаюсь создать карту сайта Django с помощью функции GenericSitemap.
мой файл urls.py выглядит следующим образом:
from django.urls import path
from . import views
from django.views.generic.base import TemplateView
from re_analytics.models_new import AnalyticsData
from django.contrib.sitemaps import GenericSitemap
from django.contrib.sitemaps.views import sitemap
sitemaps = {
'analytics': GenericSitemap({
'queryset': AnalyticsData.objects.all(),
'date_field': 'timestamp',
},
priority=0.9)
}
urlpatterns = [
...
path('sitemap.xml', sitemap, {'sitemaps': sitemaps}, name='django.contrib.sitemaps.views.sitemap'),
]
Мой файл models_new.py выглядит следующим образом:
from django.db import models
class AnalyticsData(models.Model):
index = models.TextField(blank=True, null=False)
post_code = models.FloatField(blank=True, null=True)
...
Запуск приложения работает. У меня просто проблемы с доступом к представлению карты сайта. Я получаю следующее сообщение об ошибке:
OperationalError at /sitemap.xml
no such column: analytics_data.id
Request Method: GET
Request URL: http://127.0.0.1:8000/sitemap.xml
Django Version: 3.2.5
Exception Type: OperationalError
Exception Value:
no such column: analytics_data.id
Exception Location: /Users/finnj/coding/App1/env/lib/python3.9/site-packages/django/db/backends/sqlite3/base.py, line 423, in execute
Python Executable: /Users/finnj/coding/App1/env/bin/python
Python Version: 3.9.6
Python Path:
['/Users/finnj/coding/re_crawler_homepage/re_homepage',
'/opt/homebrew/Cellar/python@3.9/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python39.zip',
'/opt/homebrew/Cellar/python@3.9/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9',
'/opt/homebrew/Cellar/python@3.9/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/lib-dynload',
'/Users/finnj/coding/App1/env/lib/python3.9/site-packages']
Это сообщение указывает на то, что столбец id не существует в модели. И да, он там не существует. 'local var' в сообщении об ошибке указывает на то, что приложение пытается извлечь этот столбец :
sql
('SELECT "analytics_data"."id", "analytics_data"."index", '
'"analytics_data"."post_code",...
Как так получается, что колонка id вдруг появляется? Я его вообще не использую
Может кто-нибудь помочь мне? Спасибо!