Модель Django становится огромной
В моем проекте несколько моделей имеют много полей, более 25. Например, у меня есть модель под названием PeriodOfStay. и в ней есть поле типа
- дата_вступления
- i94_number
- port_of_entry
- город ....etc (пожалуйста, проверьте изображение для всех полей)
- также имеет много булевых полей. в одной форме пользователь может выбрать несколько вариантов.
Итак, я запутался, следует ли мне поместить все поля в одну модель. Это лучшая практика. Я не хочу разбивать одну модель на несколько и использовать OneToOne Relation, потому что в этом случае мне нужно разбить много моделей, потому что большинство моделей в моем проекте такие, также мне нужно отправить все данные сразу в одном запросе.
Мне просто нужно сохранить данные и показать их пользователю. В некоторых случаях мне нужно искать по какому-то полю. Например, в этой форме мне нужно искать по i94_number. Является ли использование JsonField нормальным для этой проблемы, потому что мне нужно искать & фильтр в некоторых случаях.
Буду признателен за любую помощь. Заранее благодарю за помощь.
Что касается вашего вопроса о том, когда следует использовать отношения один-к-одному: https://dba.stackexchange.com/a/15405
Я думаю, что JsonField - это не то, что вам нужно, если вы хотите искать и фильтровать на основе некоторых полей. Если держать его в обычных полях, это будет быстрее
Некоторые связанные ресурсы, которые могут быть интересны: https://en.wikipedia.org/wiki/Database_normalization