Модель Django становится огромной

В моем проекте несколько моделей имеют много полей, более 25. Например, у меня есть модель под названием PeriodOfStay. и в ней есть поле типа

  • дата_вступления
  • i94_number
  • port_of_entry
  • город ....etc (пожалуйста, проверьте изображение для всех полей)
  • также имеет много булевых полей. в одной форме пользователь может выбрать несколько вариантов.

form image

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

Мне просто нужно сохранить данные и показать их пользователю. В некоторых случаях мне нужно искать по какому-то полю. Например, в этой форме мне нужно искать по i94_number. Является ли использование JsonField нормальным для этой проблемы, потому что мне нужно искать & фильтр в некоторых случаях.

Буду признателен за любую помощь. Заранее благодарю за помощь.

Что касается вашего вопроса о том, когда следует использовать отношения один-к-одному: https://dba.stackexchange.com/a/15405

Я думаю, что JsonField - это не то, что вам нужно, если вы хотите искать и фильтровать на основе некоторых полей. Если держать его в обычных полях, это будет быстрее

Некоторые связанные ресурсы, которые могут быть интересны: https://en.wikipedia.org/wiki/Database_normalization

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