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

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

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

class Tablefilter(models.Model):
    filter_field = models.Field()

class Tablefilted(models.Model):
    table_filter = models.ForeignKey(Tablefilter)

Или в моих моделях просто создать расширение для этого поля в каждой модели.

class Tablefilter(models.Model):
    filter_field = models.Field()

class Tablefilted(Tablefilter):
    field = models.Field()

Вашему вопросу не хватает некоторой проработки.
Однако, фильтрацию лучше делать через представления, а не через модели. Поэтому, в основном, на фронтенде есть некоторые параметры, передаваемые нашим представлениям, и используется фильтр Django по встроенной функции.

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