Django + MongoDB: переменное количество полей с моделью Django - PullRequest
0 голосов
/ 18 октября 2019

В настоящее время я работаю с приложением django + python, использующим базу данных mongoDB. Объекты в коллекциях в этой базе данных могут иметь переменное количество атрибутов. Что мне интересно, так это то, нужно ли мне создавать поле модели для каждого атрибута и просто иметь дело с тем фактом, что большое количество атрибутов не заполнено, или существует метод, с помощью которого вы можете иметь переменное число полей вdjango Моделируйте или динамически генерируйте поля в объекте, а не указывайте в модели (или если есть пакет, который позволяет это).

На этот вопрос уже был дан ответ для базы данных SQL, используемой с django здесь , но это на самом деле не говорит мне, было ли это невозможно для приложения django с базой данных mongodb.

Вот пример некоторых объектов с переменными полями, которые будут включены в одну коллекцию.

{
  'id': 1,
  'name': 'time',
  'hat': 'top hat',
  'shirt': 'dress shirt',
  'vest': 'tweed',
  'pants': 'black trousers',
  'stopwatch': 'yes'
},
{
  'id': 2,
  'name': 'James'
},
{
  'id': 3,
  'pet': 'dragon'
  'name': 'Ganilon'
}

Я надеюсь найти что-то, что динамически генерирует поля (или даже только некоторые из них) найдены в объекте по модели, так что, возможно:

class Character(models.Model):
      id = models.IntegerField(primary_key=True)      

      class Meta:
          db_table = "characters"
          managed = false
          generate_fields = True

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...