无法使用 date_joined 字段过滤()用户
unable to filter() users with their date_joined field
我想计算 date_joined 与“今天”日期匹配的所有用户。我有两个用户在 date_joined 字段中有今天的日期,但计数始终 returns 为零。我可能没有正确过滤数据。这些是我尝试过滤数据的方式
型号
class CustomUser(AbstractBaseUser, PermissionsMixin):
email = models.EmailField( unique= True)
full_name = models.CharField(max_length=255)
phone_no = models.CharField(max_length=10, blank= True)
address = models.CharField(max_length=500, blank= True)
plan = models.CharField(max_length=255, blank= True)
age = models.CharField(max_length=2, blank= True)
date_joined = models.DateTimeField(default=timezone.now)
观看次数
from datetime import datetime, date
def dashboard(request):
all_users = CustomUser.objects.all().exclude(is_staff = True).count()
all_users_bydate = CustomUser.objects.all().filter(date_joined= datetime.today()).count()
print(all_users_bydate)
all_users_bydate = CustomUser.objects.all().filter(date_joined= datetime.today().date()).count()
all_users_bydate = CustomUser.objects.all().filter(date_joined= datetime.today().date()).count()
甚至试图显式过滤
all_users_bydate = CustomUser.objects.all().filter(date_joined= date(2021, 12, 11)).count()
所有这些方法都不起作用,总是归零。请指正我做错了什么。
所以在玩了一段时间代码之后,我理解的是我之前尝试过的所有返回零的方法,因为'date_joined”是一个 DateTimeField,因此,在下面的代码中
all_users_bydate = CustomUser.objects.all().filter(date_joined= datetime.today().date()).count()
时间未匹配,因此返回的计数为 0。
所以我所做的是使用 __contains 来过滤日期。因此,这将检查今天的日期是否包含在 'date_joined' 字段中。这 returns 正确计数,即 2.
all_users_bydate = CustomUser.objects.all().filter(date_joined__contains= datetime.today().date()).count()
我想计算 date_joined 与“今天”日期匹配的所有用户。我有两个用户在 date_joined 字段中有今天的日期,但计数始终 returns 为零。我可能没有正确过滤数据。这些是我尝试过滤数据的方式
型号
class CustomUser(AbstractBaseUser, PermissionsMixin):
email = models.EmailField( unique= True)
full_name = models.CharField(max_length=255)
phone_no = models.CharField(max_length=10, blank= True)
address = models.CharField(max_length=500, blank= True)
plan = models.CharField(max_length=255, blank= True)
age = models.CharField(max_length=2, blank= True)
date_joined = models.DateTimeField(default=timezone.now)
观看次数
from datetime import datetime, date
def dashboard(request):
all_users = CustomUser.objects.all().exclude(is_staff = True).count()
all_users_bydate = CustomUser.objects.all().filter(date_joined= datetime.today()).count()
print(all_users_bydate)
all_users_bydate = CustomUser.objects.all().filter(date_joined= datetime.today().date()).count()
all_users_bydate = CustomUser.objects.all().filter(date_joined= datetime.today().date()).count()
甚至试图显式过滤
all_users_bydate = CustomUser.objects.all().filter(date_joined= date(2021, 12, 11)).count()
所有这些方法都不起作用,总是归零。请指正我做错了什么。
所以在玩了一段时间代码之后,我理解的是我之前尝试过的所有返回零的方法,因为'date_joined”是一个 DateTimeField,因此,在下面的代码中
all_users_bydate = CustomUser.objects.all().filter(date_joined= datetime.today().date()).count()
时间未匹配,因此返回的计数为 0。
所以我所做的是使用 __contains 来过滤日期。因此,这将检查今天的日期是否包含在 'date_joined' 字段中。这 returns 正确计数,即 2.
all_users_bydate = CustomUser.objects.all().filter(date_joined__contains= datetime.today().date()).count()