我已将以下代码放在脚本文件的顶部
os.environ.setdefault("DJANGO_SETTINGS_MODULE", 'momsite.conf.local.settings')
django.setup()
现在我可以导入我的django应用程序并运行小片段(主要是测试东西)
我想导入通过设置注册的所有模型。已安装的应用程序
我知道https://github.com/django-extensions/django-extensions运行manage时执行此操作。py shell_plus
它会自动导入所有型号和更多型号。
我在看他们的代码。不确定我是否能理解。
https://github.com/django-extensions/django-extensions/blob/3355332238910f3f30a3921e604641562c79a0a8/django_extensions/management/commands/shell_plus.py#L137
目前,我正在做以下工作,我认为这是在导入模型,但在脚本中却不可用
from django_extensions.management.shells import import_objects
from django.core.management.base import BaseCommand, CommandError
options = {}
style = BaseCommand().style
import_objects(options, style)
import_objects
在内部调用从导入import_module
显然,我们需要填充全局()与导入类
options = {'quiet_load': True}
style = BaseCommand().style
imported_objects = import_objects(options, style)
globals().update(imported_objects)
创建一个管理
命令。它将自动加载django()和所有内容。然后在命令中,您只需启动命令。./manage.pymytest
#myapp/management/commands/mytest.py
from django.core.management.base import BaseCommand, CommandError
from myapp.sometest import Mycommand
class Command(BaseCommand):
help = 'my test script'
def add_arguments(self, parser):
pass
# parser.add_argument('poll_ids', nargs='+', type=int)
def handle(self, *args, **options):
Mycommand.something(self)
它将调用实际脚本:
#sometest.py
from .models import *
class Mycommand():
def something(self):
print('...something')
运行django之后。setup()
,执行以下操作:
from django.apps import apps
for _class in apps.get_models():
if _class.__name__.startswith("Historical"):
continue
globals()[_class.__name__] = _class
这将使所有模型类在脚本中以全局形式可用。
问题内容: 我有一些CSV数据,我想使用示例CSV数据导入django模型: 我有一些名为Product的django模型。在产品还有像一些领域,和。我想要这样的东西: 问题答案: 你想使用python语言中的csv模块,并且应该使用Django的get_or_create方法 在我的示例中,模型老师具有三个属性first_name,last_name和middle_name。
问题内容: 我的目录结构如下: 从导入模块。我尝试结合使用with ,但是使用该方法,我只能在using下直接导入所有子模块。我想让他们全都陷入困境。导入的所有子模块的最干净的方法是什么,以便可以从中访问? 编辑:对不起,我有点含糊。我想在运行时导入子模块,而不在中明确指定它们。我可以用来获取子模块名称(除非有人知道更好的方法),但是我不确定使用这些名称(或者返回的ImpImporters ?)导
我试图修改一些模型(如< code>User模型)许多实例,这些更改是不同的(我不想使用update 方法,这对于我的场景不起作用)。 例如,一些用户需要更改,一些用户需要更改并获得如下用户: 我认为如果我在更改后对每个实例使用保存方法,Django会发送一个保存查询! 如何将对数据库的所有更改保存在一个查询中,而不是在模型上使用 foreach 并逐个保存?
我正在做一个项目,我需要使用几个DateTime字段,我已经在我的模型中定义了,然后在模板中,我正在使用https://tempusdominus.github.io/bootstrap-4/插件,但是当我提交表单时,有两个问题来吧: 1) :Django说为所有DateTime字段输入有效的日期/时间(2):选择有效选项<代码>[“玉米油”]不是可用选项之一。 以下是我尝试过的: 从: 从: 从
问题内容: 使用inspectdb,我可以从postgres到Django获取一个“间隔”字段。在Django中,它是一个TextField。我检索到的对象确实是一个timedelta对象! 现在,我想将此timedelta对象放入新模型中。最好的方法是什么?因为将timedelta放在TextField中会导致对象的str版本… 问题答案: 您可以以天或秒为单位将时间增量标准化为单个浮点数。 这
我有Gammer模型,即用户扩展和竞争模型。很多用户可以参加一场比赛,而一场比赛可以有很多用户(很多) 插件管理。py: 管理员可以查看球员比赛(用户)或为他们分配能力 现在我希望玩家(用户)可以注册比赛(选择比赛)。我如何继续?