From 069833a8381430fcd9b59921a5942aa486a94a68 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 13 Sep 2021 23:13:28 -0400 Subject: [PATCH] username should not be unique, requires migration --- mastodon/auth.py | 2 +- users/models.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/mastodon/auth.py b/mastodon/auth.py index 7cbde87a..46b3fdc4 100644 --- a/mastodon/auth.py +++ b/mastodon/auth.py @@ -91,7 +91,7 @@ class OAuth2Backend(ModelBackend): # when username is provided, assume that token is newly obtained and valid try: - user = UserModel._default_manager.get_by_natural_key(user_data['username']) + user = UserModel._default_manager.filter(username=username, mastodon_site=site) except UserModel.DoesNotExist: return None else: diff --git a/users/models.py b/users/models.py index bf1f054b..5467b231 100644 --- a/users/models.py +++ b/users/models.py @@ -14,6 +14,13 @@ def report_image_path(instance, filename): class User(AbstractUser): + if settings.MASTODON_ALLOW_ANY_SITE: + username = models.CharField( + _('username'), + max_length=150, + unique=False, + help_text=_('Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.'), + ) mastodon_id = models.CharField(max_length=100, blank=False) # mastodon domain name, eg donotban.com mastodon_site = models.CharField(max_length=100, blank=False)