2015-09-07 29 views
1

1.8如何解决模型麦凯纳在Django加载但

models.py

class hotel(models.Model): 
    hotel_name = models.CharField(max_length=20) 

class Sell(models.Model): 
    hotel = models.ForeignKey("hotel") 
    sell_text = models.CharField(vmax_length=20) 

class Selled(models.Model): 
    buy_choices = [(data.id, data.sell_text) for data in Sell.objects.filter(Hotel_id=2)] 
    city = models.IntegerField(choices=city_choices, default=1) 

命令./manage.py RUNSERVER

django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet. 

,为什么我不能用Hotel_id用于过滤器

外带Hotel_id将运行

+0

你试过'schemamigration'吗? –

+0

同样的错误信息出现 – Squallcx

回答

2

你正试图在django设置数据库之前进行数据库查询,所以django告诉你“模型尚未加载”。

它看起来好像你想给一个模型字段的动态选择与查询,你不能做一个加载时间。更重要的是,它看起来像你需要一个ForeignKey,而不是IntegerField。你可以看看limit_choices_to

class Selled(models.Model): 
    city = models.ForeignKey('Sell', limit_choices_to={'id': 2}) 
-1

在开发服务器上运行应用程序之前,必须将项目连接到现有数据库(或使用SQLite创建一个onfly)。

设置正确以使用数据库后,必须运行以下命令。

python manage.py migrate 

这将在您的数据库中创建必要的表以开始工作。您可以在这里查看与数据库相关的所有必要信息。 https://docs.djangoproject.com/en/1.8/ref/databases/

+0

我有现有的数据库,外卖Hotel_id将运行 – Squallcx

+0

好吧对不起,我不明白你的问题 – acostela