我有一个模型,我需要几个特定字段的历史数据,因此我将这些字段放入具有外键关系的单独模型中。有点像这个如何通过单独模型中最新相应条目中的文本字段筛选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)
但我还没有想出一个好办法,碰到这个一个一对多的关系,做到这一点,只使用输入最新的时间戳,至少使用Django ORM。
我对如何使用原始SQL执行查询有一个想法,但我真的很想尽量避免使用原始数据。
感谢您的这一点,我只是尝试了这一点,它确实导致了一个查询。我将不得不做一些测试,看看它在实践中运行得如何,但这似乎现在解决了我的问题。 – jyap