gpt4 book ai didi

mysql - 在 Django 中,尝试转储数据时得到 "Error: Unable to serialize database"?

转载 作者:IT老高 更新时间:2023-10-29 00:03:44 25 4
gpt4 key购买 nike

当我尝试将数据转储到我的实时服务器上 Djanog 1.2.1 中的 JSON fixture 时出现错误。在实时服务器上,它运行的是 MySQL 服务器版本 5.0.77,我使用 phpMyAdmin 界面将大量数据导入到我的表中。该网站运行正常,Django 管理员正常响应。但是,当我尝试实际转储与表相对应的应用程序数据时,出现此错误:

$ python manage.py dumpdata --indent=2 gigs > fixtures/gigs_100914.json 
/usr/local/lib/python2.6/site-packages/MySQLdb/__init__.py:34: DeprecationWarning: the sets module is deprecated
from sets import ImmutableSet
Error: Unable to serialize database: Location matching query does not exist.

我试图从中转储的“演出”的 Django 模型在 models.py 文件中看起来像这样:

from datetime import datetime
from django.db import models

class Location(models.Model):
name = models.CharField(max_length=120, blank=True, null=True)

class Meta:
ordering = ['name']

def __unicode__(self):
return "%s (%s)" % (self.name, self.pk)

class Venue(models.Model):
name = models.CharField(max_length=120, blank=True, null=True)
contact = models.CharField(max_length=250, blank=True, null=True)
url = models.URLField(max_length=60, verify_exists=False, blank=True, null=True) # because of single thread problems, I left this off (http://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.URLField.verify_exists)

class Meta:
ordering = ['name']

def __unicode__(self):
return "%s (%s)" % (self.name, self.pk)

class Gig(models.Model):
date = models.DateField(blank=True, null=True)
details = models.CharField(max_length=250, blank=True, null=True)
location = models.ForeignKey(Location)
venue = models.ForeignKey(Venue)

class Meta:
get_latest_by = 'date'
ordering = ['-date']

def __unicode__(self):
return u"%s on %s at %s" % (self.location.name, self.date, self.venue.name)

就像我说的,Django 可以处理数据。该网站运行良好,关系似乎运行得非常好。当运行命令以获取 SQL Django 使用的内容时:

$ python manage.py sql gigs
/usr/local/lib/python2.6/site-packages/MySQLdb/__init__.py:34: DeprecationWarning: the sets module is deprecated
from sets import ImmutableSet
BEGIN;CREATE TABLE `gigs_location` (
`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
`name` varchar(120)
)
;
CREATE TABLE `gigs_venue` (
`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
`name` varchar(120),
`contact` varchar(250),
`url` varchar(60)
)
;
CREATE TABLE `gigs_gig` (
`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
`date` date,
`details` varchar(250),
`location_id` integer NOT NULL,
`venue_id` integer NOT NULL
)
;
ALTER TABLE `gigs_gig` ADD CONSTRAINT `venue_id_refs_id_3d901b6d` FOREIGN KEY (`venue_id`) REFERENCES `gigs_venue` (`id`);
ALTER TABLE `gigs_gig` ADD CONSTRAINT `location_id_refs_id_2f8d7a0` FOREIGN KEY (`location_id`) REFERENCES `gigs_location` (`id`);COMMIT;

我已经对数据进行了三重检查,以确保所有关系和数据在导入后都没有问题。但是我仍然遇到这个错误,三天过去了......我不知道该怎么做。我无法想象“DeprecationWarning”会在这里成为一个问题。我真的需要将这些数据转储为 JSON。

非常感谢您的任何帮助。

最佳答案

可能类似于 this .

运行它:

python manage.py dumpdata --indent=2 -v 2 --traceback gigs 

查看底层错误。

关于mysql - 在 Django 中,尝试转储数据时得到 "Error: Unable to serialize database"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3708119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com