Django创建的models.py文件能否被另一个python文件用于填充数据库?

Django创建的models.py文件能否被另一个python文件用于填充数据库?,python,django,postgresql,Python,Django,Postgresql,我在Django网站上学习了教程的第1部分和第2部分https://docs.djangoproject.com/en/1.4/intro/tutorial01/ 并设法创建了几个文件夹并连接到我的网站。我的应用程序名为“app”,因此我的文件夹结构看起来有点像: 主文件夹 --__初始值 --test.py --Django创建的Django站点 ---manage.py ---djangosite -----其他.py文件 ---应用程序 -----__初始值 -----models.py

我在Django网站上学习了教程的第1部分和第2部分https://docs.djangoproject.com/en/1.4/intro/tutorial01/ 并设法创建了几个文件夹并连接到我的网站。我的应用程序名为“app”,因此我的文件夹结构看起来有点像:

主文件夹 --__初始值 --test.py --Django创建的Django站点 ---manage.py ---djangosite -----其他.py文件 ---应用程序 -----__初始值 -----models.py -----其他.py文件 我将models.py文件更改为:

class Result(models.Model):
    options = models.CharField(max_length = 1000, unique = False)
    reverse = models.DecimalField(decimal_places = 6, max_digits = 12)
py目前在其他一些类上运行一些测试。我想要的是让我的test.py类运行这些测试,并将结果以列形式保存在数据库中 反之亦然。我希望在test.py课上做类似的事情:

import models.py
if __name__ == "__main__":
    optionResult = someTestsThatRuns
    reverseResult = someOtherTestThatRuns
    models.Result c;
    c.options = optionResult 
    c.reverse = reverseResult 
我想用最后两行将结果保存到数据库中。 这可能吗?如何从应用程序文件夹导入models.py

多谢各位

编辑: 当我说一些运行的测试时,这些不是单元测试。它们实际上是一个函数,返回一个列表和一些带有“PASS”或“FAIL”的字符串。很抱歉造成混淆

请在app文件夹中创建一个空的_init__u; py.py文件,以便Python将该目录视为一个包。然后做:

from app.models import Result

optionResult = someTestsThatRuns
reverseResult = someOtherTestThatRuns
c = Result()
c.options = optionResult 
c.reverse = reverseResult
c.save()
这将把“c”保存到数据库中

请注意,Django的测试套件可以创建自己的测试数据库,在单独的数据库上运行测试。您可以在这里阅读更多关于Django测试的信息。

在app文件夹中创建一个空的uuu init_uuuuuu.py文件,以便Python将该目录视为一个包。然后做:

from app.models import Result

optionResult = someTestsThatRuns
reverseResult = someOtherTestThatRuns
c = Result()
c.options = optionResult 
c.reverse = reverseResult
c.save()
这将把“c”保存到数据库中

请注意,Django的测试套件可以创建自己的测试数据库,在单独的数据库上运行测试。您可以在这里阅读更多关于Django测试的信息。

正如David在评论中提到的那样,环境变量确实没有设置。因为我在Windows中,所以我要做的就是启动->计算机->属性->高级系统设置->环境变量->添加环境变量

在那里,我添加了“DJANGO\u SETTINGS\u MODULE”,其位置为“C:\path\to\your\SETTINGS.py”,之后,在命令提示符下,我必须执行以下操作:

enter python
>import sys
>import os
>sys.path.append(r"C:\location\to\settings.py")
>from django.core.management import setup_environ
>setup_environ(settings)
>sys.path.append(os.getcwd() + '\\from\\current\\to\\models.py'
>from models import Result 
虽然我确实觉得有点难以理解,但这一切都在一开始就解释过了。我在导入模型时遇到的另一个问题是,有两个文件夹命名为完全相同的djangoSite,因此在导入时,计算机在试图找出哪个文件夹时遇到了一些问题。我必须重命名、删除、重置环境变量,并重新检查文件中的所有路径=/

很抱歉,如果我的解释不是最好的,我几乎不明白我做了什么,但我确实希望这将在将来帮助其他人

正如David在评论中提到的那样,环境变量确实没有设置。因为我在Windows中,所以我要做的就是启动->计算机->属性->高级系统设置->环境变量->添加环境变量

在那里,我添加了“DJANGO\u SETTINGS\u MODULE”,其位置为“C:\path\to\your\SETTINGS.py”,之后,在命令提示符下,我必须执行以下操作:

enter python
>import sys
>import os
>sys.path.append(r"C:\location\to\settings.py")
>from django.core.management import setup_environ
>setup_environ(settings)
>sys.path.append(os.getcwd() + '\\from\\current\\to\\models.py'
>from models import Result 
虽然我确实觉得有点难以理解,但这一切都在一开始就解释过了。我在导入模型时遇到的另一个问题是,有两个文件夹命名为完全相同的djangoSite,因此在导入时,计算机在试图找出哪个文件夹时遇到了一些问题。我必须重命名、删除、重置环境变量,并重新检查文件中的所有路径=/


如果我的解释不是最好的,我很抱歉,我几乎不明白我做了什么,但我真的希望这将有助于其他人在未来

嗨,大卫,谢谢你的第一个回复!在发布这个问题之前,我实际上正在考虑按照您的建议和尝试去做,但是我的models.py文件中出现了一个错误,上面写着“第4行:来自django.db import models”-ImportError:没有名为db=/的模块。另外,我在阅读了您发送给我的站点后添加了编辑。我的测试不是单元测试,也不测试Django站点;它们是运行一些C++类并在字符串和列表中获得某些结果的函数。抱歉造成混淆=转到命令行,启动python,然后键入import django.db。看看是否会引起错误。如果出现错误,Python不会在其搜索路径上拾取django包。在命令行中,import sys后跟print sys.path将告诉您Python的搜索路径上有哪些目录。Django应该安装在其中一个目录下,通常安装在站点包中。如果import django.db可以从命令行运行,请确保在您使用的任何开发环境中都选择了正确的Python解释器!在发布这个问题之前,我实际上正在考虑按照您的建议和尝试去做,但是我的models.py文件中出现了一个错误,上面写着“第4行:来自django.db import models”-ImportError:N
o名为db=/的模块。另外,我在阅读您发送给我的站点后添加了编辑。我的测试不是单元测试,也不测试Django站点;它们是运行一些C++类并在字符串和列表中获得某些结果的函数。抱歉造成混淆=转到命令行,启动python,然后键入import django.db。看看是否会引起错误。如果出现错误,Python不会在其搜索路径上拾取django包。在命令行中,import sys后跟print sys.path将告诉您Python的搜索路径上有哪些目录。Django应该安装在其中一个目录下,通常安装在站点包中。如果import django.db在命令行中工作,请确保在您所处的任何开发环境中都选择了正确的Python解释器。