Django models 使用GeoDjango模型作为抽象类
我和詹戈一起玩,我有些怀疑。我非常感谢您的任何意见和建议 这是我的问题。首先,我定义了这个(抽象)类: 其次,我定义了另一个“实体”类 表示与我的网站相关的个人或组织:Django models 使用GeoDjango模型作为抽象类,django-models,geodjango,Django Models,Geodjango,我和詹戈一起玩,我有些怀疑。我非常感谢您的任何意见和建议 这是我的问题。首先,我定义了这个(抽象)类: 其次,我定义了另一个“实体”类 表示与我的网站相关的个人或组织: from django.db import models class Entity(models.Model): name = models.CharField(max_length=64) slug = models.SlugField(max_length=64, unique=True) webs
from django.db import models
class Entity(models.Model):
name = models.CharField(max_length=64)
slug = models.SlugField(max_length=64, unique=True)
website = models.URLField(verify_exists=False, blank=True)
email = models.EmailField(blank=True)
...
最后,我从前面的类创建了一个类:
import LocatableModel
import Entity
class Organization(Entity, LocatableModel):
timetable = models.CharField(max_length=64)
...
在我看来,我希望找到靠近某个特定点的组织:
from django.contrib.gis.geos import Point
from django.contrib.gis.measure import D
def index(request):
pnt = Point(12.4604, 43.9420)
dic = { 'orgs': Organization.objects.filter(point__distance__lte=(pnt, D(km=7))) }
return render_to_response('index.html', dic)
但我收到了错误:
“不允许在“点”字段上加入。您是否将“距离”拼写错误?”
查找类型?”
我想我把模型“对象”属性搞得一团糟,但我不确定。有什么想法吗?
提前感谢。此错误以前已被发现,并在3年前在本票据中声明已解决: 当我遇到同样的问题时,我在票据中注意到,在继承的模型中,查询管理器被显式设置为GeoManager。所以添加一行,比如
class Organization(Entity, LocatableModel):
timetable = models.CharField(max_length=64)
...
objects = models.GeoManager()
…也许能解决你所看到的问题,这对我很有效
class Organization(Entity, LocatableModel):
timetable = models.CharField(max_length=64)
...
objects = models.GeoManager()