在django 1.8
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 :(得分:2)
您正在尝试在django设法建立数据库之前进行数据库查询,因此django会告诉您“模型尚未加载”。
看起来您希望使用查询为模型字段提供动态选择,这样您就无法加载时间。更重要的是,您似乎需要ForeignKey
,而不是IntegerField
。
你应该看看limit_choices_to
。
class Selled(models.Model):
city = models.ForeignKey('Sell', limit_choices_to={'id': 2})
答案 1 :(得分:-1)
在开发服务器中运行应用程序之前,必须将项目连接到现有数据库(或使用SQLite创建一个onfly)。
使用DB设置正确后,您必须运行以下命令。
python manage.py migrate
这将在您的数据库中创建必要的表以开始工作。您可以在此处查看与DB相关的所有必要信息。 https://docs.djangoproject.com/en/1.8/ref/databases/