Python 无法在教程中创建Geodjango模型

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

我正在尝试跟随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.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/