У меня есть две модели устройства и настройки журнала как таковые:
class device(models.Model):
name = models.CharField(max_length=20)
code = models.CharField(max_length=10)
description = models.TextField()
class log(model.Model):
device = models.ForeignKey(device)
date = models.DateField()
time = models.TimeField()
data = models.CharField(max_length=50)
как получить список, содержащий только самые последние записи / журналы (на основе времени и даты) для каждого устройства, и объединить их в следующем формате:
имя, код, дата, время, данные
Будучи новичком в Django, я хотел бы реализовать это, используя ORM Django. ТИА!
EDIT:
все еще не работает для меня, хотя я попробовал этот подход:
devices=device.objects.annotate(latest_log_date=Max('log_date')),latest_log_time=Max('log_time'))
logs=get_list_or_404(log.objects.filter(date__in=[b.latest_log_date for b in devices],time__in=[b.latest_log_time for b in devices]))`
он только дает мне самый последний журнал с каждого устройства ... не объединяет, конечно, оба ... но исходя из этого, как мне представить его в имени, коде, дате, времени, формате данных?