Возможность динамического добавления/редактирования/удаления полей формы пользователями?

Я работаю над проектом, в котором требуется базовая форма + шаблон для каждого пользователя, основанный на простой модели, такой как...

class FloorPlan(models.Model):
    user = models.ForeignKey(account)
    stories = models.IntegerField()
    bathrooms = models.IntegerField()
    sqft = models.IntegerField()

Я знаю, что JS будет необходим, чтобы сделать это динамичным.

Таким образом, у каждого пользователя будет базовая форма и представление, которое отображает только эти 3 поля. Теперь я также хочу, чтобы эта форма была настраиваемой, чтобы пользователь мог добавлять любые дополнительные поля, или удалять поля, которые не используются. Возможно, они добавят информацию о заднем дворе, бассейне и т.д.

Я наткнулся на это приложение,

https://github.com/askvortsov1/dynamic-django-forms

но, похоже, не соответствует тому, что мне нужно.

Я думал добавить дополнительное поле extra_field=models.ForeignKey(ExtraField) в модель FloorPlan и сделать его m2m, а в модели ExtraField просто хранить новые поля, которые пользователь хочет создать. Но с точки зрения дизайна, не думаю, что это будет лучше, чем позволить каждому пользователю наводнять БД?

Я искал вокруг, чтобы найти, возможно, библиотеку JS тоже.

Действительно просто ищу совета, если кто-то создал что-то подобное, просто ищу указатели в правильном направлении.

Заранее спасибо!

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