Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.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 夹具加载失败:DoesNotExist:。。。匹配的查询不存在_Python_Django_Fixtures - Fatal编程技术网

Python 夹具加载失败:DoesNotExist:。。。匹配的查询不存在

Python 夹具加载失败:DoesNotExist:。。。匹配的查询不存在,python,django,fixtures,Python,Django,Fixtures,从git repo运行Django 1.5.x。使用south管理迁移。我有这样一个模型: class Company(models.Model): name = models.CharField(max_length = 100) subdomain = models.CharField(max_length = 50) is_active = models.BooleanField(default=True) prefs = models.TextField(

从git repo运行Django 1.5.x。使用south管理迁移。我有这样一个模型:

class Company(models.Model):
    name = models.CharField(max_length = 100)
    subdomain = models.CharField(max_length = 50)
    is_active = models.BooleanField(default=True)
    prefs = models.TextField(max_length=8*1024, null=True, blank=True, default=None)

    is_dev = models.BooleanField(default=False) # this is a development company - internal to 15Five

    trial_start_date = models.DateField(null=True, blank=True, default=None)
    trial_length_days = models.PositiveIntegerField(default = 28)

    email_domain = models.CharField(max_length = 100, null=True, blank=True, default=None)
    cohort = models.ForeignKey(Cohort, null=True, blank=True, default=None)

    create_ts = models.DateTimeField(_('Created'), default=timezone.now)
    update_ts = models.DateTimeField(_('Updated'), default=timezone.now)
    deactivate_ts = models.DateTimeField(_('Deactivated'), null=True, blank=True, default=None)
    converted_to_paying_ts = models.DateTimeField(_('Converted'), null=True, blank=True, default=None)

    features = models.ManyToManyField(Feature,
                                      verbose_name=_('feature'), blank=True,
                                      help_text='A feature which can be turned on or off for a company')
我在django admin中创建了一家公司。我使用
manage.py dumpdata ff.company--indent=2
导出JSON装置:

[
{
  "pk": 1,
  "model": "ff.company",
  "fields": {
    "cohort": null,
    "subdomain": "zzz",
    "name": "zzz",
    "trial_start_date": null,
    "trial_length_days": 0,
    "converted_to_paying_ts": "2012-12-02T11:06:10Z",
    "is_active": true,
    "update_ts": "2012-12-02T11:06:11Z",
    "is_dev": true,
    "deactivate_ts": null,
    "create_ts": "2012-12-02T11:05:56Z",
    "email_domain": "zzz.com",
    "prefs": "",
    "features": []
  }
}
]
我清除了我的ff_company表并运行迁移,但发现一个错误:

Error in migration: ff:0004_create_default_companies
DoesNotExist: Problem installing fixture 'C:\<redacted>/migrations/fixtures/create_default_companies.json': Company matching query does not exist. Lookup parameters were {'id': 1}
迁移错误:ff:0004\u创建\u默认\u公司
DoesNotExist:安装fixture“C:\/migrations/fixtures/create\u default\u companys.json”时出现问题:公司匹配查询不存在。查找参数为{'id':1}
你知道问题是什么吗?我认为南方不是问题所在,因为如果手动加载夹具,我也会出现错误:

>manage.py loaddata ..\migrations\fixtures\create_default_companies.json
DoesNotExist: Problem installing fixture 'C:\<redacted>\migrations\fixtures\create_default_companies.json': Company matching query does not exist. Lookup parameters were {'id': 1}
>manage.py loaddata..\migrations\fixtures\create\u default\u companys.json
DoesNotExist:安装设备“C:\\migrations\fixtures\create\u default\u companys.json”时出现问题:公司匹配查询不存在。查找参数为{'id':1}

我的公司型号上有“保存前”和“保存后”信号触发器。它们没有检查
raw
param,而是试图对不存在的数据库值做一些聪明的事情。

您能否详细说明如何处理这些问题(如果您还记得如何处理的话),因为我是这方面的初学者,也有类似的问题。随着我经验的增加,我完全停止使用fixture加载数据。它们适用于非常简单的事情。然而,任何真正的项目很快就不再简单,固定装置也不再足够。我现在使用自定义Python脚本来填充演示数据。我只需注释post_save receiver方法,然后加载数据。当时它已成功加载。