Search code examples
django-modelsdjango-admin

I did not find map on pointfield in django


enter image description here

I added a model that have PointField but it cant show me map on admin panel

user_sensitive_information*_*model.py

from django.contrib.gis.db import models

from . import User
from core.mixins import UUID


class UserSensitiveInformation(UUID):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    point = models.PointField(null=True, blank=False)

settings.py

INSTALLED_APPS = [
    ...
    'django.contrib.gis',
    ...
]

DATABASES = {
    'default': {
        'ENGINE': 'django.contrib.gis.db.backends.postgis',
        'NAME': os.getenv('DB_NAME'),
        'USER': os.getenv('DB_USER'),
        'PASSWORD': os.getenv('DB_PASSWORD'),
        'HOST': os.getenv('DB_HOST'),
        'PORT': os.getenv('DB_PORT')
    }
}

Is there any other package I have to install for maps, so the admin panel shows map


Solution

  • After reading some answers online and read documentations I found out answer on django 4.2 for pointfield you have to write admin panel like this

    from django.contrib.gis.admin import OSMGeoAdmin
    
    class UserSensitiveInformationAdmin(OSMGeoAdmin):
        list_display = ("id", "point")
    
    admin.site.register(UserSensitiveInformation, UserSensitiveInformationAdmin)