Мы разрабатываем некоторые API-интерфейсы для проекта электронной коммерции в Django REST, и есть разные типы категорий. Для всех сообщений пользователей мы храним данные сообщений в отдельной таблице, поскольку данные различаются для каждой категории.
При разработке и API для получения определенных данных на основе категории я действительно не хочу жестко кодировать что-то вроде ниже, и я хочу сделать динамическую связь c.
Если categoryID = X, то извлекайте данные из таблицы X. Обратите внимание, что для каждой категории может быть несколько таблиц сообщений.
class MainCategory(models.Model):
main_category_id = models.PositiveSmallIntegerField(primary_key=True)
name = models.CharField(max_length=30)
class XPost(models.Model):
post_id = models.BigAutoField(primary_key=True)
main_category = models.ForeignKey(MainCategory, on_delete=models.CASCADE)
title = models.CharField(max_length=MAX_TITLE_LENGTH, null=False)
description = models.CharField(max_length=MAX_DESCRIPTION_LENGTH, null=False)
пример api будет иметь вид api / v1 / main_category_id / posts