Какой метод проектирования базы данных лучше для производительности?
Мне нужно создать базу данных 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 по встроенной функции.