获取最新条目django

时间:2014-03-13 08:57:45

标签: python mysql django

我目前有一个函数,每12小时将一到四个条目写入数据库。当满足某些条件时,再次调用该函数以基于先前的条目写入另外1-4个条目。现在,因为时间不是我必须检查是否满足条件的唯一因素,并且因为条目都在同一个数据库中,我必须根据它们发布到数据库中的时间来区分它们(DateTimeField在代码中)

我怎么能实现这个目标? django中是否有一个我无法找到的功能?或者我是否需要看一个相当复杂的解决方案。

作为草图我会说我会期待这样的事情:

latest = []
allData = myManyToManyField.objects.get(externalId=2)
for data in allData:
    if data.Timestamp.checkIfLatest(): #checkIfLatest returns true/false
       latest.append(data)

甚至更好的事情(尽管我认为没有实施)

latest = myManyToManyField.objects.get.latest.filter(externalId=2)

2 个答案:

答案 0 :(得分:2)

django文档非常好,特别是在查询集和模型层函数方面。它通常是你应该看的第一个地方。听起来你想要.latest(),但很难说出你对条件的要求。

latest_entry = m2mfield.objects.latest('mydatefield')
if latest_entry.somefield:
    # do something

或许你想要:

latest_entry = m2mfield.objects.filter(somefield=True).latest('mydatefield')

您可能还对order_by()感兴趣,它会根据您指定的字段对行进行排序。然后,您可以迭代所有m2m字段,直到找到匹配条件的字段。

但如果没有关于这些条件的更多信息,就很难更具体。

答案 1 :(得分:0)

IT只是一个想法..我们可以将数据库中的纪元时间(entrie的当前时间)字段作为主键并与之前的entiries进行比较并区分它们