Djongo - Невозможно поместить мои собственные модели в документы
У меня есть следующий Python код, который я пытаюсь перенести с mongonaut на новый способ взаимодействия Django с MongoDB, пакет djongo:
# CharField for English and Japanese text
class LocalizedCharField(models.Model):
EN = models.CharField(max_length=128, blank=False, null=False)
JP = models.CharField(max_length=128)
# CharField for English and Japanese text
class LocalizedCharField(models.Model):
EN = models.CharField()
JP = models.CharField()
# Details for a character
class CharacterInfo(models.Model):
charName = models.CharField(max_length=128, blank=False, null=False)
displayName = models.EmbeddedField(LocalizedCharField)
nationality = models.EmbeddedField(LocalizedCharField)
game = models.EmbeddedField(LocalizedCharField)
system = models.EmbeddedField(LocalizedCharField)
voice = models.EmbeddedField(LocalizedCharField)
graphic = models.EmbeddedField(LocalizedCharField)
introduction = models.EmbeddedField(LocalizedCharField)
defaultPalIndices = models.CharField(max_length=128)
groove = models.DictField()
config = models.CharField()
moves = models.DictField()
charConfig = models.DictField()
Однако, когда я пытаюсь отладить свой сервер, я получаю следующую ошибку:
['Field "lawn.LocalizedCharField.id" of model container:"<class \'lawn.models.LocalizedCharField\'>" cannot be of type "<class \'django.db.models.fields.AutoField\'>"']
И он указывает на строку, где находится displayName
как на виновника, что означает, что я по какой-то причине не могу внедрить свои собственные типы полей в другие модели? Что мне нужно сделать, чтобы это заработало? Как уже говорилось, до этого момента я использовал устаревшую пользовательскую сборку Mongonaut, где это работало нормально, так что я не уверен, чего хочет djongo.