Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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/scala/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
Mysql Django:DoesNotExist:匹配查询不存在_Mysql_Django_Django Models_Dumpdata - Fatal编程技术网

Mysql Django:DoesNotExist:匹配查询不存在

Mysql Django:DoesNotExist:匹配查询不存在,mysql,django,django-models,dumpdata,Mysql,Django,Django Models,Dumpdata,我正在将django(v1.1)项目从mysql迁移到postgresql(有趣!),目前我正在传输所有数据。我尝试使用manage.py dumpdata选项,但我们使用的服务器非常旧,需要很长时间(它似乎希望将所有内容加载到内存中)。我想出了一个小脚本来处理每个应用程序,然后是它下面的每个模型,简化版本如下所示: def dumpJson(model, outfile): try: data = serializers.serialize("json",

我正在将django(v1.1)项目从mysql迁移到postgresql(有趣!),目前我正在传输所有数据。我尝试使用manage.py dumpdata选项,但我们使用的服务器非常旧,需要很长时间(它似乎希望将所有内容加载到内存中)。我想出了一个小脚本来处理每个应用程序,然后是它下面的每个模型,简化版本如下所示:

 def dumpJson(model, outfile):  
    try:
            data = serializers.serialize("json", model.objects.all(),indent=4)                
    except model.DoesNotExist:
            print model.__name__ , "Does not Exist (not Object)"
    except ObjectDoesNotExist:
            print model.__name__ , "Issue with the data, not sure what...."

            data = serializers.serialize("json", model.objects.all(),indent=4)
            data = data.decode("unicode_escape").encode("utf8")
            out = open(outfile, "w")
            out.write(data)
            out.close()        

def main():
    for app in get_apps():               
            for model in get_models(app):  
                    print " -- Dumping:", model.__name__
                    outfile = "json_dumps/" + model.__name__ + ".json"                        
                    dumpJson(model, outfile)
但是,如果删除try-catch语句,则会出现以下错误:\

  -- Dumping: Institution
  Traceback (most recent call last):
  ...(nasty stacktrace)....      
  unity.trip.models.DoesNotExist: USNWRData matching query does not exist.
我的模型定义如下:

class USNWRData(models.Model):
    rank = models.PositiveIntegerField(blank=True, null=False)
    name = models.CharField(max_length=255, blank=True, null=False)
    state = models.CharField(max_length=10, blank=True, null=False)
    public = models.BooleanField(blank=True, null=False)
    type = models.ForeignKey(USNWRType)

class Institution(models.Model):
    name = models.CharField(max_length=200)
    parent_institution = models.ForeignKey('self', blank=True, null=True)
    location = models.ForeignKey(Location, blank=True, null=True,related_name='old_location')
    type = models.ForeignKey(InstitutionType, blank=True, null=False )
    usnwr = models.ForeignKey(USNWRData, blank=True, null=True)
    locationnrm = models.ForeignKey(LocationNrm, blank=False, null=True)
据我所知,此错误的原因是某种数据不匹配或缺少外键。鉴于上述模型,问题似乎是什么?我在这方面遇到了一些麻烦,原来的作者早已不在了。任何帮助都将不胜感激

编辑:完整堆栈交易是:

 -- Dumping: Institution
 Traceback (most recent call last):
 File "custom_dump.py", line 38, in <module>
    main()
 File "custom_dump.py", line 34, in main
    dumpJson(model, outfile)
 File "custom_dump.py", line 16, in dumpJson
    data = serializers.serialize("json", model.objects.all(),indent=4)
 File "/usr/local/lib64/python2.5/site-packages/django/core/serializers/__init__.py", line 91, in serialize
    s.serialize(queryset, **options)
 File "/usr/local/lib64/python2.5/site-packages/django/core/serializers/base.py", line 48, in serialize
    self.handle_fk_field(obj, field)
 File "/usr/local/lib64/python2.5/site-packages/django/core/serializers/python.py", line 48, in handle_fk_field
    related = getattr(obj, field.name)
 File "/usr/local/lib64/python2.5/site-packages/django/db/models/fields/related.py", line 315, in __get__
    rel_obj = QuerySet(self.field.rel.to).using(db).get(**params)
 File "/usr/local/lib64/python2.5/site-packages/django/db/models/query.py", line 349, in get % self.model._meta.object_name)
unity.trip.models.DoesNotExist: USNWRData matching query does not exist.
——倾销:机构
回溯(最近一次呼叫最后一次):
文件“custom_dump.py”,第38行,在
main()
文件“custom_dump.py”,第34行,在main中
dumpJson(模型,输出文件)
文件“custom_dump.py”,第16行,在dumpJson中
data=serializers.serialize(“json”,model.objects.all(),indent=4)
文件“/usr/local/lib64/python2.5/site packages/django/core/serializers/_init__.py”,第91行,序列化
s、 序列化(查询集,**选项)
文件“/usr/local/lib64/python2.5/site packages/django/core/serializers/base.py”,第48行,序列化
self.handle\u fk\u字段(对象,字段)
文件“/usr/local/lib64/python2.5/site packages/django/core/serializers/python.py”,第48行,在handle\u fk\u字段中
related=getattr(对象,字段名)
文件“/usr/local/lib64/python2.5/site packages/django/db/models/fields/related.py”,第315行,在__
rel_obj=QuerySet(self.field.rel.to)。使用(db.get(**参数)
文件“/usr/local/lib64/python2.5/site packages/django/db/models/query.py”,第349行,在get%self.model.\u meta.object\u name中
unity.trip.models.DoesNotExist:USNWRData匹配查询不存在。

我发现Django装置除了用于小数据集(例如,100条Foo OptionList项目记录)或测试装置之外,对任何其他用途都毫无用处。我将通过将MySQL表导出到CSV来解决您的问题

此外,您还可以查看以下内容:


您可以包括堆栈跟踪吗?