小编djp*_*jpy的帖子

检查空查询集

我想确认这是检查空查询集的正确方法,如果这是我遇到 UNIQUE 约束错误的原因。

syn_check= Synonym.objects.filter(MD.objects.get(**filter_dict), synonym_type=Stype.objects.filter(description=values.capitalize().strip()), synonym_name=key)
if not syn_check:
    print 'unavailable synonym', key, values
    syn = Synonym()
    syn.synonym_type=Stype.objects.filter(description=values.capitalize().strip()
    syn.synonym_name = key.strip()
    syn.save()
Run Code Online (Sandbox Code Playgroud)

我在做什么奇怪的事情吗?我也用过if not syn_check.count(),遇到同样的问题。

这是回溯:

    Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/project/.virtualenvs/project/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
    utility.execute()
  File "/home/project/.virtualenvs/project/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 377, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/project/.virtualenvs/project/local/lib/python2.7/site-packages/django/core/management/base.py", line 288, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/home/project/.virtualenvs/project/local/lib/python2.7/site-packages/django/core/management/base.py", line 338, in execute
    output = self.handle(*args, **options)
  File "/home/project/PycharmProjects/project/project/management/commands/back_populate_data.py", line 53, in handle
    loaded_syn …
Run Code Online (Sandbox Code Playgroud)

django

4
推荐指数
1
解决办法
7667
查看次数

TEST Mirror默认数据库,但无数据

我正在尝试在Django应用程序上进行一些测试。我已经为测试数据库使用了数据库镜像。当我尝试运行少量测试时,似乎“默认数据库”中的数据在镜像测试数据库中不可用。

'default': { #'sqlite': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'OPTIONS':{
            'timeout': 180,
        },
        #  'TEST':{
        #     'MIRROR': 'default',
        #
        # }


    },
'replica': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'OPTIONS':{
            'timeout': 180,
        },
        'TEST_MIRROR': 'default'


    }
Run Code Online (Sandbox Code Playgroud)

我的测试:

data_school = DataSchool.objects.all()
self.assertTrue(data_school.exists())
Run Code Online (Sandbox Code Playgroud)

我很困惑,数据库管理员将test_mirrors配置为默认数据库的只读副本。理论上,默认数据库中的任何数据都可以用于测试吗?如果我有任何配置错误,请告诉我们。谢谢

django

4
推荐指数
1
解决办法
935
查看次数

标签 统计

django ×2