/ / Створення власних екстенсивних моделей - django, django-models

Створення власних екстенсивних моделей - django, django-models

Скажімо, у мене є модель з назвою клієнт з основною інформацією, такими як ім'я, прізвище, електронна пошта тощо. Якщо я хочу, щоб користувач міг додавати інше спеціальне поле (тільки для нього), скажіть чиста вартість (текстове поле). Цей користувач тепер зможе додати інформацію про мережеві цінності всім своїм клієнтам. Інший користувач може захотіти додати дзвінки всім його клієнтам.

Як мені займатися розробкою моделі, яка може обробляти такі користувальницькі додатки від різних користувачів? А також, чи є певна назва того, що я намагаюся зробити?

Оновлення:

Існує кілька облікових записів, і кожний з них маєнабір клієнтів. Я думаю про використання моделі ClientCharIndex для відстеження всіх розширених полів і моделі ClientCharAttribues для зберігання всіх значень.

class Client(Model):
account = models.ForeignKey(Account)
first_name = Model.CharField()
last_name = Model.CharField()
...

class ClientCharIndex(Model):
account = models.ForeignKey(Account)
name = Model.CharField()

class ClientCharAttribues(Model):
key = models.ForeignKey(ClientCharIndex)
client = models.ForeignKey(Client)
value = Model.CharField()

Відповіді:

1 для відповіді № 1

Те, що ви можете зробити, це визначити модель із полями лише значення ключового значення (і може бути типовим) та мати зв'язки M2M або зовнішніх клавіш з client модель

Щось на зразок цього:

class Client(Model):
...

class UserAttribues(Model):
key = Model.CharField()
value = Model.CharField()
client = Model.ManyToManyField(Client)

За допомогою цього ви можете додати будь-яку інформацію про ключ-значення клієнтському об'єкту та будь-яку їх кількість.