django syncdb是如何工作的?
在我的项目中,我已经将admins.py放置在项目根文件夹中。
下面是文件夹结构
src
|
----proj1
| |
| -------- settings.py
| -------- urls.py
|
----forum
|
-------- admins.py
-------- models.py
-------- views.py这里的论坛是一个django应用程序。而proj1是根。
当我尝试执行syncdb时,它会给出以下输出。
Installed 0 object(s) from 0 fixture(s)谁能告诉我这个syncdb是如何工作的(它执行的步骤顺序是什么)来创建数据库?在这里,它不是根据论坛->models.py创建表格。除了INSTALLED_APPS和admin.site.register()之外,我还应该提到其他地方吗?
发布于 2013-06-14 03:14:04
Syncdb基本上为所有应用程序创建数据库表,并加载应用程序可能需要加载的任何“fixture”(初始数据)。
例如,您可能会将特定对象的“类别”设置为必填字段,但用户无法更改此字段。您可以将它们加载为夹具。
消息Installed 0 object(s) from 0 fixture(s)指出,对于这个特定的模型,没有提供任何fixture。
您可以阅读有关fixtures here的更多信息
查看source for syncdb时,可以看到表已创建,然后调用load_initial_data。
发布于 2013-06-14 18:57:47
再次编辑proj1/settings.py文件,并更改论坛设置以包含字符串‘INSTALLED_APPS’。所以它看起来像这样:
INSTALLED_APPS = (
'django.contrib.admin',
......
'forum',
)并在models.py中编写模型类示例:
from django.db import models
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')编写模型后,运行syncdb命令
注意:-您已经编写了admins.py,但文件名应为admin.py,因此请再次检查它
https://stackoverflow.com/questions/17095148
复制相似问题