DeserializationError: объект «NoneType» не имеет атрибута «_meta», используя Django loaddata

Я пытаюсь перенести мою базу данных приложений Django из SQLite на MySQl.

Я сбрасываю данные с помощью manage.py dumpdata --natural > hunt.json

Затем после обновления настроек для подключения к базе данных MySQL, когда я loaddata с помощью команды manage.py loaddata hunt она вызывает следующую ошибку

 Problem installing fixture 'hunt.json': Traceback (most recent call last): File "C:\Python27\lib\site-packages\django\core\management\commands\loaddata.p y", line 190, in handle for obj in objects: File "C:\Python27\lib\site-packages\django\core\serializers\json.py", line 47, in Deserializer raise DeserializationError(e) DeserializationError: 'NoneType' object has no attribute '_meta' 

Ниже приведена моя model.py

 from django.db import models class DJManager(models.Manager): def get_by_natural_key(self, name): return self.get(name=name) class DJ(models.Model): objects = DJManager() name = models.CharField(max_length=50, unique=True) rank = models.IntegerField() img = models.ImageField(upload_to='/img/', height_field=None, width_field=None) soundcloud_profile = models.CharField(max_length=100, blank=True, null=True) def natural_key(self): return (self.name,) #for human readable representation of objects def __unicode__(self): return self.name class Song(models.Model): song_id = models.IntegerField() name = models.CharField(max_length=100) title = models.CharField(max_length=100) normalized_name = models.CharField(max_length=100) artist = models.ForeignKey(DJ, default=None, blank=True, null=True) artists = models.CharField(max_length=100) remixers = models.CharField(max_length=100, default=None, blank=True, null=True) release_date = models.DateField() slug = models.CharField(max_length=100) artwork = models.CharField(max_length=100) genres = models.CharField(max_length=50) duplicate = models.BooleanField(default=False) votes = models.IntegerField(default=0) #for human readable representation of objects def __unicode__(self): return self.normalized_name 

2 Solutions collect form web for “DeserializationError: объект «NoneType» не имеет атрибута «_meta», используя Django loaddata”

Вам необходимо будет определить метод natural_key () в вашей модели DJ

 def natural_key(self): return self.name 

Вы можете проверить его в документации Django: https://docs.djangoproject.com/en/dev/topics/serialization/#dependencies-during-serialization

Юг противоречил тесту. Я должен был установить SOUTH_TESTS_MIGRATE = False в settings.py в соответствии с документами .

Если это False, интеграция тестового бегущего юга заставит тестовую базу данных создавать с использованием syncdb, а не через миграции (по умолчанию).

Также я сбрасывал все в мое приспособление. Это, по-видимому, плохой способ сделать привязку к югу – потому что он также выгружает таблицы миграции Юга в прибор. Поэтому мне пришлось создать свой инструмент, чтобы быть ориентированным на приложения. manage.py dumpdata hunt --natural > hunt.json

Python - лучший язык программирования в мире.