Last active
September 16, 2019 17:29
-
-
Save duahimanshu100/0bc9e08d2db4370fe492772ad33edecb to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| from datetime import datetime | |
| from django.contrib.auth.models import User | |
| def update_user_first_name(user_id, new_first_name): | |
| return User.objects.filter(id=user_id).update(first_name=new_first_name) | |
| def get_user_groups(user_id): | |
| try: | |
| user = User.objects.prefetch_related('groups').get(id=user_id) | |
| except User.DoesNotExist: | |
| return | |
| return list(user.groups.values_list('name', flat=True)) | |
| def parse_str_date_to_date_obj(str_date, format='%Y-%m-%d'): | |
| try: | |
| # we can use utc timezone or the timezone from the settings | |
| return datetime.strptime(str_date, format).replace(tzinfo=timezone.utc) | |
| except ValueError: | |
| raise ValueError('Provided Date format is not correct') | |
| def count_user_joined_btw(date1, date2): | |
| date1 = parse_str_date_to_date_obj(date1) | |
| date2 = parse_str_date_to_date_obj(date2) | |
| if date1 > date2: | |
| smaller_date = date2 | |
| greater_date = date1 | |
| else: | |
| smaller_date = date1 | |
| greater_date = date2 | |
| return User.objects.filter(date_joined__lte=greater_date).filter(date_joined__gte=smaller_date).count() |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Because I don't know where this function is called from the application.