首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GeoDjango。Admin在创建的实例中没有显示point = models.PointField()的映射位置

GeoDjango。Admin在创建的实例中没有显示point = models.PointField()的映射位置
EN

Stack Overflow用户
提问于 2018-08-18 10:40:14
回答 1查看 2.1K关注 0票数 2

我试图以一种非常简单的方式创建成员实例来实践GeoDjango。我能够创建实例,但它们在管理映射(见下面的图像)中没有正确显示。

下面是我的models.py

代码语言:javascript
复制
from django.contrib.gis.db import models

    class Member(models.Model):
        name = models.CharField(max_length=150)
        image = models.ImageField()
        lat = models.FloatField()
        lon = models.FloatField()
        point = models.PointField()
        objects = models.GeoManager()

        def __str__(self):
            return self.name

下面是我的views.py

代码语言:javascript
复制
class MemberCreate(CreateView):
    model = Member
    fields = ('name', 'image', 'lat', 'lon')

    def form_valid(self, form, *args, **kwargs):
        self.object = form.save(commit=False)
        self.object.point = fromstr('POINT(%s %s)'%(self.object.lat, self.object.lon), srid=4326)
        self.object.save()
        return redirect('member:all_members')

模型和视图正在我的admin.py上成功地创建模型实例,下面是admin.py的代码

代码语言:javascript
复制
from django.contrib.gis import admin
from .models import Member

admin.site.register(Member, admin.OSMGeoAdmin)

关于我的GeoDjango项目管理的要点参见下面

这个点实际上在网上的地方(注意相同的lat,lon见下面)

我怎么解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-19 19:32:27

改变了这个

代码语言:javascript
复制
self.object.point = fromstr('POINT(%s %s)'%(self.object.lat, self.object.lon), srid=4326)

代码语言:javascript
复制
self.object.point = fromstr('POINT(%s %s)'%(self.object.lon, self.object.lat), srid=4326)

全能运动先于拉特。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51907699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档