今日、何らかの理由でpython manage.py dumpdata
またはmysqlファイルをダウンロードできるリンクからデータベースをダンプできません。トラブルシューティング「エラー:データベースをシリアライズできません:」dumpdataを実行するとき
私はpython manage.py dumpdata --traceback
を使用しようとしましたが、ここには私の情報があります。
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 191, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 220, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python2.7/site-packages/django/core/management/commands/dumpdata.py", line 114, in handle
use_natural_keys=use_natural_keys)
File "/usr/local/lib/python2.7/site-packages/django/core/serializers/__init__.py", line 91, in serialize
s.serialize(queryset, **options)
File "/usr/local/lib/python2.7/site-packages/django/core/serializers/base.py", line 48, in serialize
self.handle_fk_field(obj, field)
File "/usr/local/lib/python2.7/site-packages/django/core/serializers/python.py", line 48, in handle_fk_field
related = getattr(obj, field.name)
File "/usr/local/lib/python2.7/site-packages/django/db/models/fields/related.py", line 301, in __get__
raise self.field.rel.to.DoesNotExist
django.contrib.auth.models.DoesNotExist
django.contrib.auth.models.DoesNotExist
と書かれています。私はそれが外国のキーか何かと関係があるのだろうかと思います。私のmodels.pyから
models.py
class Client(models.Model):
name = models.CharField(max_length = 40)
telephone = models.CharField(max_length = 20)
website = models.URLField(verify_exists = False)
fax = models.CharField(max_length = 20)
email = models.EmailField()
is_active = models.BooleanField()
user = models.ForeignKey(User)
datetime = models.DateTimeField(default=datetime.now)
note = models.TextField()
def __unicode__(self):
return self.name
は、フィールドのユーザー、日時やノートが最近追加されました。クライアントの場合、これらのフィールドに値が空白でない場合は、エラーUnable to serialize database
が表示されます。
私はユーザ、日時、およびmysqlを参照しています。 Clientのテーブルには、user_id、datetime、およびnoteがNull値を持つことが示されています(これは、私が望むものです)。なぜNull値を許可しないのですか?
+-----------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(40) | NO | | NULL | | | telephone | varchar(20) | NO | | NULL | | | website | varchar(200) | NO | | NULL | | | fax | varchar(20) | NO | | NULL | | | email | varchar(75) | NO | | NULL | | | is_active | tinyint(1) | NO | | NULL | | | user_id | int(11) | YES | MUL | NULL | | | datetime | datetime | YES | | NULL | | | note | longtext | YES | | NULL | | +-----------+--------------+------+-----+---------+----------------+
外国重要な問題は良い賭けのような音(
blank
とnull
は、デフォルトでは、両方のFalse
です)。どのモデルにも 'django.contrib.auth.models'のモデルを指すForeignKeyフィールドがありますか? – tcarobruceI second @tcarobruce。外部キーや制約の問題のように思えます。私は似たような状況が発生しました。これは、キーや制約が不足しているために、南または手によって正しく修正されなかったためです。 – Brandon
'self.handle_fk_field(obj、field)'はちょっとしたプレゼントです –