私はいくつかのフィールドの履歴データが必要なモデルを持っているので、これらのフィールドを外部キー関係。ソートのこのような別のモデルの最新の対応するエントリのテキストフィールドを使ってDjangoクエリーセットをフィルタリングする方法
何か:
class DataThing(models.Model):
# a bunch of fields here...
class DataThingHistory(models.Model):
datathing_id = models.ForeignKey('DataThing', on_delete=models.CASCADE)
text_with_history = models.CharField(max_length=500, null=True, blank=True)
# other similar fields...
timestamp = models.DateTimeField()
は今、私は後者の最新の対応するエントリのテキストフィールドを使用して、元のモデルにフィルタを適用しようとしています。
search_results = DataThing.objects.filter(text_with_history__icontains=searchterm)
しかし、私はこの1対多の関係を越え、これを行うための良い方法を考え出したとだけ使用していない:これらのモデルを分離していなかった場合
基本的に私はこれを試してみました後者のモデルでは、少なくともDjango ORMを使用して、最新のタイムスタンプを持つエントリを作成します。
私は未処理のSQLを使用したいクエリをどのように行うのか考えていますが、できる限りrawを使用しないようにしたいと考えています。
これをお寄せいただきありがとうございます。私はこれを試しました。私はいくつかのテストをしなければならないし、それが実際にどのくらいうまく走るのかを見なければならないでしょうが、これは今のところ私の問題を解決するようです。 – jyap