Запрос таблиц без использования условия if на основе некоторого связанного поля - PullRequest
0 голосов
/ 25 мая 2020

Мы разрабатываем некоторые 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

...