Django таблиц пользовательских настроек - PullRequest
0 голосов
/ 03 мая 2020

Я пытаюсь создать Django веб-сайт, где пользователь может создавать пользовательские объекты, известные как элементы. Каждый элемент должен иметь определенные свойства, которые хранятся в базе данных. Например, элементу понадобятся такие свойства, как

Серийный номер, Описание, Дата изготовления

Однако я хочу, чтобы пользователь мог указывать эти поля аналогично тому, что позволяет динамика Microsoft. Например, пользователь должен иметь возможность указать, что ему нужно текстовое поле с именем «Номер модели», связанным с указанным типом элемента c, и с этого момента он может сохранять эти свойства в базе данных.

Я не уверен, что лучший способ сделать это, потому что стандартная модель базы данных, у вас уже есть все поля, определенные для конкретной таблицы c, однако это, по сути, означает, что я должен найти способ иметь пользователя определенные таблицы.

Кто-нибудь знает хороший подход для решения этой проблемы, в конце дня я хочу хранить элементы с настраиваемыми свойствами, определенными пользователем в базе данных.

спасибо

1 Ответ

0 голосов
/ 03 мая 2020

Существует несколько способов go.

. В нереляционных базах данных не требуется определять все поля для коллекций (аналог таблицы RDBMS). ).

Но если вы хотите использовать SQL с Django, тогда вы можете определить Property Модель.

class Property(models.Model):
    name = CharField()
    value = CharField()
    item = models.ForeignKey(Item, on_delete=models.CASCADE)

class Item(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)

Вы можете отобразить форму FormSet из Property. Чтобы добавить дополнительные пустые формы на лету, рендеринг динамич c наборов форм .

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