РЕДАКТИРОВАТЬ: BLAH BLAH там нет кода QQ.Я знаю, что это текстовая стена, поэтому, прежде чем войти и пожать плечами или опубликовать бесполезные комментарии, прочитайте, и вы поймете, почему здесь нет никакого кода.Если, с другой стороны, вы спросите меня о каком-то конкретном фрагменте моего кода, который, по вашему мнению, может помочь вам решить его, это совсем другое дело.
Это скорее концептуальный вопрос, чем то, что я могу на самом делепоказать код для.При необходимости, пожалуйста, попросите меня, и я опубликую то, что я могу, но на самом деле вы можете просто предположить, что у меня есть стандартная рабочая модель, сериализатор и посмотреть, что я понятия не имею, как реализовать функциональность, о которой я спрашиваю, в,У меня есть приложение Django, работающее со средой REST.У меня есть две модели.Позволяет называть их кавычки и строки.Изобразите цитату как квитанцию.В этом чеке есть строки, в которых указано, что представляет собой каждый элемент, а также любая другая информация об этом элементе, например, стоимость.По отдельности я могу показать оба из них в API.Проблема заключается в том, что, когда я пытаюсь загрузить весь набор данных, который нужен моим пользователям, я отображаю данные, которые при фильтрации, показывающей только последние 2 года, все еще показывают 39 000 результатов.Теперь представьте, что каждая цитата содержит до 50 строк, и вы можете увидеть, где начинается моя проблема.Поскольку в кавычках есть даты, которые я могу отфильтровать, но строки связаны с помощью «QuoteID», я не могу понять, как отфильтровать строки в моих моделях / сериализаторах так, чтобы я вытягивал кавычки с помощью фильтра за последние 2 года, а затем ТОЛЬКО яполучить строки с идентификатором соответствия для извлеченных кавычек.По сути, в SQL это будет внутреннее соединение.Мне нужно сделать это в Django REST framework, чтобы мое приложение не разбивалось каждый раз, когда я удаляю крышку с результатами.Извините, я знаю, что это длинная стена текста, но так как мой код здесь не очень полезен, я хотел быть тщательным.Если есть какой-либо код, который вам нужно просмотреть, чтобы помочь разобраться в этом концептуально, пожалуйста, дайте мне знать, и я опубликую его.
Я установил связь между моделями с помощью models.foreignkey ().Это заставляет их отображаться правильно с точки зрения отношения IE, строки 1-5 соответствуют идентификатору кавычки 1, но это не ограничивает данные строки только теми кавычками, которые были сняты с помощью фильтра даты.
Iу меня есть рабочие отношения, где, если я ограничу результаты каким-либо меньшим числом, скажем, 60, я получу 60 цитат и 60 строк, которые имеют правильные идентификаторы, но, к сожалению, это не совсем правильно, потому что 60 цитат могут иметь 300 строкв теории, так как каждая цитата может иметь много.Поэтому, когда я распаковываю результаты поиска, мне нужно, чтобы я получал цитаты за 2 года, отфильтрованные по датам, и только строки, относящиеся к этим 2 годам, отфильтрованные по совпадающему идентификатору.
Я надеюсь, что естьспособ по существу фильтровать одну модель (модель линий) по другим моделям ранее полученных данных.Чем меньше результатов я получу от строк, тем лучше.Я думал о том, чтобы сделать простой запрос непосредственно из внешнего интерфейса, потому что он позволил бы мне извлекать данные из одной строки в кавычках при выделении, но я бы предпочел сохранить все подключения к базе данных на бэкэнде, если это возможно.