Python 在Django中使用现有数据库
我在Django应用程序中使用多个数据库。Python 在Django中使用现有数据库,python,django,Python,Django,我在Django应用程序中使用多个数据库。default数据库是Django为用户身份验证等创建的数据库。然后我有一个vo数据库,其中包含我计划用于内容生成的现有数据 我希望models.py中的类链接到vo中的现有表。然而,当我 manage.py syncdb --database=vo 将创建一组新的空表。顺便说一句,这是一个SQLite3数据库 $ ./manage.py inspectdb --database=vo > your_app/models.py 如何将数据库中的
default
数据库是Django为用户身份验证等创建的数据库。然后我有一个vo
数据库,其中包含我计划用于内容生成的现有数据
我希望models.py
中的类链接到vo
中的现有表。然而,当我
manage.py syncdb --database=vo
将创建一组新的空表。顺便说一句,这是一个SQLite3数据库
$ ./manage.py inspectdb --database=vo > your_app/models.py
如何将数据库中的现有表链接到Django中models.py
上的类
非常感谢
vo
添加到设置中DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(DIR, 'django.sqlite3'),
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
},
}
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(DIR, 'django.sqlite3'),
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
},
# this your existing db
'vo': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(DIR, 'vo.sqlite'),
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
},
}
添加vo
数据库设置,如下所示
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(DIR, 'django.sqlite3'),
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
},
}
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(DIR, 'django.sqlite3'),
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
},
# this your existing db
'vo': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(DIR, 'vo.sqlite'),
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
},
}
$ ./manage.py inspectdb --database=vo > your_app/models.py
签出:您想在vo中的更改反映在查询中的实际链接,还是只需将vo复制到默认值一次就足够了?您想用多个数据库创建一个ForeignKey吗?实际上,只需将db镜像到models.py中就足够了。这是通过下面的答案实现的。而且,不需要外键。谢谢,非常感谢,这很有效。现在,我只需要编辑和优化它生成的models.py。