Представьте, что у меня есть следующие 2 модели в надуманном примере:
class User(models.Model):
name = models.CharField()
class Login(models.Model):
user = models.ForeignKey(User, related_name='logins')
success = models.BooleanField()
datetime = models.DateTimeField()
class Meta:
get_latest_by = 'datetime'
Как получить набор запросов пользователей, который содержит только пользователей, чей последний вход в систему не был успешным.
Я знаю, что следующее не работает, но оно иллюстрирует то, что я хочу получить:
User.objects.filter(login__latest__success=False)
Я предполагаю, что могу сделать это с объектами Q, и / или Case When, и / или какой-либо другой формойаннотации и фильтрации, но я не могу разобраться.