Адаптация модели Django (с помощью djOngo) к документу MongoDB

У меня есть полная база данных с такими документами, как:

{
"_id": {
    "$oid": "6191419b42a21c7b38f028ae"
},
"like_count": 58142,
"slug": "the-elder-scrolls-iv-oblivion",
"name": "The Elder Scrolls IV: Oblivion",
"description": "The Elder Scrolls IV: Oblivion",
"image": {
    "thumb": "https://cdn.website.com/c/04dcf5be7b651ef57c542bf5634b08c2/400x510/cdn.kanobu.ru/games/e17c468f-cd9e-48d7-bb23-6cbd736fa330.JPG",
    "origin": "https://cdn.website.com/games/e17c468f-cd9e-48d7-bb23-6cbd736fa330.JPG"
},
"release_date": {
    "string": "20 марта 2006",
    "date": "2006-03-20",
    "is_precise": true,
    "precision_class": "day"
},
"created": "2009-03-02T18:48:27",
"rating": 8.94065934065934,
"genres": [{
    "id": 3649,
    "name": "Экшен",
    "slug": "action",
    "position": 10
}, {
    "id": 3656,
    "name": "Ролевые",
    "slug": "rpg",
    "position": 30
}],
"platforms": [{
    "id": 1,
    "name": "PC",
    "slug": "pc",
    "position": 0
}, {
    "id": 59,
    "name": "Xbox One",
    "slug": "xbox-one",
    "position": 2
}, {
    "id": 4,
    "name": "PlayStation 3",
    "slug": "ps-3",
    "position": 4
}, {
    "id": 6,
    "name": "Xbox 360",
    "slug": "xbox-360",
    "position": 5
}],
"developers": [{
    "id": 79,
    "name": "Bethesda Softworks",
    "slug": "bethesda-softworks"
}],
"publishers": [{
    "id": 43,
    "name": "2K Games",
    "slug": "2k-games"
}],
"requirements": {
    "min_os": "Windows XP, Windows 2000, Windows XP 64-разрядная",
    "min_cpu": "Intel Pentium 4 с тактовой частотой 2 ГГц или аналогичный ",
    "min_gpu": "со 128 МБ видеопамяти, совместимая с DirectX 9.0 ",
    "min_ram": "1.0",
    "min_hdd": "5.0",
    "rec_os": "",
    "rec_cpu": "",
    "rec_gpu": "",
    "rec_ram": null,
    "rec_hdd": null
}

}

Я использовал CharField для полей типа "название", "описание", и EmbededField (из Djongo) для полей типа "release_date" и "requirements". Они "подключились", и отобразились в Django Admin, но у меня была ошибка для ArrayFields, таких как "жанры" или "платформы".

Я пытался создать его с помощью ArrayField, но получил эту ошибку:

djongo.exceptions.NotSupportedError: This version of djongo does not support indexes on embedded fields

Может ли кто-нибудь дать простые идеи, как я могу создать этот тип поля в Djongo. Я знаю, что лучший способ - создать новую базу с собственными моделями, но там более 50K документов, и я не могу этого сделать.

Вернуться на верх