Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django中未加载夹具_Python_Django_Django Fixtures - Fatal编程技术网

Python Django中未加载夹具

Python Django中未加载夹具,python,django,django-fixtures,Python,Django,Django Fixtures,Settings.py: import os # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) FIXTURE_DIRS = ( os.path.join(BASE_DIR, '/deals/fixtures/'), ) 测试_.py: import

Settings.py:

import os

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

FIXTURE_DIRS = (
   os.path.join(BASE_DIR, '/deals/fixtures/'),
)
测试_.py:

import unittest
from deals.models import Retailer
import django.test

class TestRetailer(django.test.TestCase):

    def setUp(self):
        fixtures = ['deals_test_data.json']
        self.bestbuy = Retailer(Retailer.objects.get(pk=1))

    def test_name(self):
        self.assertEqual(self.bestbuy.name, 'Best Buy US')
项目结构:

project
  - deals
     - fixtures
         - deals_test_data.json
     - tests
         - test_deals.py
错误:

Traceback (most recent call last):
  File "/home/danny/PycharmProjects/askarby/deals/tests/test_deals.py", line 10, in setUp
    self.bestbuy = Retailer(Retailer.objects.get(pk=1))
  File "/home/danny/.virtualenvs/AskArby/lib/python3.5/site-packages/django/db/models/manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/home/danny/.virtualenvs/AskArby/lib/python3.5/site-packages/django/db/models/query.py", line 380, in get
    self.model._meta.object_name
deals.models.DoesNotExist: Retailer matching query does not exist.

Destroying test database for alias 'default'...

Process finished with exit code 1
我尝试过不使用FIXTURES\u DIR,而是使用FIXTURES=['../deals\u test\u data.jason']。我试着在我的FIXTURES\u DIR中删除字符串前后的斜线。没有快乐


我怎样才能加载设备?

看起来你有打字错误

fixtures = ['deals_test_data.json']
# but file - test_deals_data.jason

装置正在加载,但我检索对象的代码必须已关闭。这很好:

import unittest
from django.test import TestCase
from deals.models import Retailer

class TestRetailer(TestCase):

    fixtures = ['deals_test_data.json']

    def test_loaded(self):
        s = Retailer.objects.get(pk=1)
        self.assertEquals(s.name, "Best Buy US")

谢谢你发现了。但是,我的文本中有输入错误,而不是我的实际代码。已编辑问题以反映实际列表,问题仍然存在!