Как исключить этот тип uid из данных и извлечь только тех пользователей, которые не входили в систему с одного года

 def handle(self, **options):
        last_month = datetime.today() - timedelta(days=30)
        clients = Client.objects.filter(lastConnection__gte=last_month).values_list('uid','lastConnection')
        #print list(clients)
        last_year = datetime.today() - timedelta(days = 365)
        uid_list = Client.objects.filter()
        last_year_clients = Client.objects.filter(lastConnection__gte=last_year,uid__starstwith="%0000000000000000000000000009897").values_list('uid','lastConnection')
        print list(last_year_clients)

Это обработчик, а модуль выглядит следующим образом:

class Client(models.Model):
    uid = models.CharField(max_length=128)
    key = models.CharField(max_length=128)
    img = models.TextField()
    version = models.CharField(max_length=20)
    lastConnection = models.DateTimeField()
    role = models.CharField(max_length=128,default="")

    def __str__(self):
        return "%s"%self.uid

Я хочу извлечь пользователей, которые не входили в систему с одного года, а идентификаторы начинаются с «u '% 000000000000000000000000000» В основном я хочу исключить этот тип идентификаторов и перечислить пользователей, которые не входили в систему с одного года.

Любая помощь будет оценена.

Спасибо.

0
0
15
1

Ответы 1

last_year = datetime.today() - timedelta(days = 365)
        uid_list = Client.objects.filter()
        last_year_clients = Client.objects.filter(lastConnection__lte=last_year).exclude(uid__startswith="%00000").values_list('uid','lastConnection')
        with open("last_year.txt","wb") as fp:
                for s in last_year_clients:
                        fp.write(str(s)+"\n")

Другие вопросы по теме