标签: django-shell

如何在交互式shell中导入模板标签?

如何在交互式shell中导入自定义模板标记或过滤器以查看一切是否正常?

我有两台机器表现不同,我不知道如何进行一些调试.

在生产机器上我无法加载模板过滤器,我收到错误"找不到模板库".在本地机器上一切正常.

django django-templates django-shell

3
推荐指数
1
解决办法
2855
查看次数

Django Shell API KeyError

我正在 django shell API 中导入模型,但出现以下错误。它是如何发生的:

python manage.py shell
from .models import Device
Run Code Online (Sandbox Code Playgroud)

我得到:

File "<console>", line 1, in <module> KeyError: "'__name__' not in globals"

python django django-shell

3
推荐指数
1
解决办法
3189
查看次数

Pydev和Django:Shell没有找到某些模块?

我正在Eclipse中使用PyDev开发一个Django项目.有一段时间,PyDev的Django Shell运作良好.现在,它没有:

>>> import sys; print('%s %s' % (sys.executable or sys.platform, sys.version))
C:\Python26\python.exe 2.6.4 (r264:75708, Oct 26 2009, 08:23:19) [MSC v.1500 32 bit (Intel)]
>>> 
>>> from django.core import management;import mysite.settings as settings;management.setup_environ(settings)
Traceback (most recent call last):
  File "<console>", line 1, in <module>
ImportError: No module named mysite.settings
>>> 
Run Code Online (Sandbox Code Playgroud)

开发服务器运行得很好.我能做错什么?

模型模块也明显缺席:

>>> import mysite.myapp.models
Traceback (most recent call last):
  File "<console>", line 1, in <module>
ImportError: No module named mysite.myapp.models
Run Code Online (Sandbox Code Playgroud)

在正常的命令行上,在PyDev之外,shell工作正常.

为什么会发生这种情况?

django pydev django-shell

2
推荐指数
1
解决办法
3345
查看次数

删除特定字段中具有重复值的Django QuerySet对象

我有这个Django模型(来自Django CMS):

class Placeholder(models.Model):
    slot = models.CharField(_("slot"), max_length=50, db_index=True)
    default_width = models.PositiveSmallIntegerField(_("width"), null=True)
Run Code Online (Sandbox Code Playgroud)

我想删除带有重复'slot'值的Placeholder对象,只保留每个对象的第一个并删除其他对象.

如何编写执行此操作的查询(使用Django QuerySet API)?

django django-queryset django-cms django-shell

2
推荐指数
1
解决办法
2743
查看次数

如何在调试器中使用python 2.7创建带有两个for循环的单行脚本

在python调试器或django shell中创建一行for循环很容易:

>>>> for x in (1,2,3,4):print(x);
>>>> for x in Obj.objects.all():something(x);
Run Code Online (Sandbox Code Playgroud)

但是我怎么能在那里得到第二个for循环呢?

>>>> for x in (1,2,3,4):print x;for y in (5,6):print x,y;
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

我很在意,因为在交互式工作时对前一个命令进行向上箭头编辑很好(这不是尝试在任何其他上下文中使用单行命令).

注意:"打印"只是一个例子.在实际使用中,我会迭代对象或执行其他编程或调试任务,例如'for s in Section.objects.all():for s in s.children():print j'.我使用的是Python 2.7.

python django-shell pdb

2
推荐指数
1
解决办法
1891
查看次数

如何在 django shell 中添加多个多对多数据

我有一个玩过三个联赛的玩家实例。在玩家模型类中,我设置了许多具有联赛类的字段。

现在我想将所有 3 个联赛添加到 Django shell 中的玩家实例中。

class League(models.Model):
        league = models.CharField(max_length=20)

        def __str__(self):
            return self.league

    class Player(models.Model):
        name = models.CharField(max_length=30)
        league_played = models.ManyToManyField(League, default='Unknown')
Run Code Online (Sandbox Code Playgroud)

python django django-shell

2
推荐指数
1
解决办法
1152
查看次数