Python 无法在教程中创建Geodjango模型
我正在尝试跟随GeoDjango,但在创建模型时遇到了问题。我是Python的初学者,使用Django 1.7、Python 2.7和Ubuntu 12.04。为了创建模型,我必须使用python manage.py shell输入以下代码Python 无法在教程中创建Geodjango模型,python,geodjango,Python,Geodjango,我正在尝试跟随GeoDjango,但在创建模型时遇到了问题。我是Python的初学者,使用Django 1.7、Python 2.7和Ubuntu 12.04。为了创建模型,我必须使用python manage.py shell输入以下代码 class WorldBorder(models.Model): name = models.CharField(max_length=50) area = models.IntegerField() pop2005 = models
class WorldBorder(models.Model):
name = models.CharField(max_length=50)
area = models.IntegerField()
pop2005 = models.IntegerField('Population 2005')
fips = models.CharField('FIPS Code', max_length=2)
iso2 = models.CharField('2 Digit ISO', max_length=2)
iso3 = models.CharField('3 Digit ISO', max_length=3)
un = models.IntegerField('United Nations Code')
region = models.IntegerField('Region Code')
subregion = models.IntegerField('Sub-Region Code')
lon = models.FloatField()
lat = models.FloatField()
mpoly = models.MultiPolygonField()
objects = models.GeoManager()
def __str__(self):
return self.name
我非常确定我应该使用python manage.py shell,但是教程不清楚。这是我从中得到的错误信息
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-3-7541d9798060> in <module>()
----> 1 class WorldBorder(models.Model):
2 name = models.CharField(max_length=50)
3 area = models.IntegerField()
4 pop2005 = models.IntegerField('Population 2005')
5 fips = models.CharField('FIPS Code', max_length=2)
/usr/local/lib/python2.7/dist-packages/django/db/models/base.pyc in __new__(cls, name, bases, attrs)
114 except ValueError:
115 app_label_index = 1
--> 116 kwargs = {"app_label": package_components[app_label_index]}
117
118 else:
IndexError: list index out of range
}
及
)
在settings.py中还有什么需要更改的吗
此外,与我发现的问题最接近的是我尝试使用meta标记(如本教程较旧版本中的标记),如下所示:
class Meta:
verbose_name_plural = "World Borders"
这似乎没有改变任何事情。感谢所有的帮助
[1]: https://docs.djangoproject.com/en/dev/ref/contrib/gis/tutorial/
您是否尝试过使用python manage.py flush?为什么不在models.py文件中编写此声明?我没有尝试使用python manage.py flush,但我有很多数据要保存在我正在使用的数据库中。我是否需要使用空数据库?我已经将声明放在models.py中(我之前没有放在那里,因为教程没有告诉我这样做)。希望现在情况会好转。这是你正在创建的新模型吗?你不应该需要一个空的数据库。添加到models.py文件后,请确保已安装的应用程序在settings.py中列出了该应用程序,并运行python manage.py syncdb,这将创建您的新模型,以便我的Innu应用程序中已经有了“世界”(我的应用程序的名称)。我还需要补充什么吗?
class Meta:
verbose_name_plural = "World Borders"
[1]: https://docs.djangoproject.com/en/dev/ref/contrib/gis/tutorial/