1

目前使用 Python Django 1.4 编程。在我的文件中,我为 MySQL 数据库编写了 CREATE TABLE 函数productosclientes在其中创建。当我检查python manage.py sqlall ventas(作为andventas的父目录)时,它会输出该代码片段。但是,当我尝试在 localhost admin 下访问它们时, 出现错误。这两个表现在确实出现在 MySQL 中。productosclientes1146, "Table 'demo.ventas_cliente' doesn't exist"

最初我删除了这两个表,因为有一些数据库错误。我又跑syncdb了,但似乎没有检索到那两张表。似乎有什么问题?

4

1 回答 1

0

我强烈建议您不要直接键入 MySql 命令,这可能会在将来给您带来很多错误。要在 Django 中创建表,您必须创建模型。例如:

1)在 ./Yourproject/apps/yourDBName 创建 __ init __.py

2)在“已安装的应用程序”下的 settings.py 中添加您的新应用程序。示例:yourproject.apps.yourapp

4)执行“python manage.py runserver”

5) 在你的新应用中创建 models.py

6)现在您可以像这样创建模型:

class myTable(models.Model):
    name  = models.CharField(max_length=50)
    email = models.EmailField()

7)如果您想从管理员访问您的新表,请在您的应用程序中创建 admin.py 并键入:

from django.contrib import admin
from models import myTable

admin.site.register(myTable)
#here, you can add more tables to the admin in the future

另外,如果您需要使用外键:

class parentTable(models.Model):
     idParent     = models.AutoField(primary_key=True)
     parentName   = models.CharField(null=False)

class childTable(models.Model):
     idChild          = models.AutoField(primary_key=True)
     MyParentName     = models.ForeignKey(parentTable, to_field='parentName')
     childName        = models.CharField(null=False)

更多信息: https ://docs.djangoproject.com/en/dev/topics/db/models/

于 2013-04-03T00:12:49.603 回答