diff options
author | luxagraf <sng@luxagraf.net> | 2018-11-29 16:57:26 -0600 |
---|---|---|
committer | luxagraf <sng@luxagraf.net> | 2018-11-29 16:57:26 -0600 |
commit | 4974eb58480f413c67f5f6e8fac430186eda2b62 (patch) | |
tree | 7402ecba682dbda38db4b6db221cc8378a390977 /apps/accounts | |
parent | 0c2a092e8d8ad33a1c306ee9efca0da96eb56415 (diff) |
uploading all recent changes ahead of sys upgrade
Diffstat (limited to 'apps/accounts')
-rw-r--r-- | apps/accounts/models.py | 9 | ||||
-rw-r--r-- | apps/accounts/views.py | 4 |
2 files changed, 10 insertions, 3 deletions
diff --git a/apps/accounts/models.py b/apps/accounts/models.py index 5ed7634..d000e3e 100644 --- a/apps/accounts/models.py +++ b/apps/accounts/models.py @@ -1,5 +1,8 @@ from django.db import models from django.contrib.auth.models import AbstractUser +from django.utils.functional import cached_property + +from notes.models import Notebook class User(AbstractUser): @@ -10,7 +13,7 @@ class User(AbstractUser): class UserProfile(models.Model): - user = models.OneToOneField(User, on_delete=models.CASCADE) + user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='profile') photo = models.ImageField(upload_to='profile', null=True, blank=True) website = models.CharField(max_length=300, null=True, blank=True, default='') location = models.CharField(max_length=300, null=True, blank=True, default='') @@ -20,3 +23,7 @@ class UserProfile(models.Model): def __str__(self): return self.user.username + + @cached_property + def get_notebook_list(self): + return Notebook.objects.filter(owner=self.user).select_related()[:8] diff --git a/apps/accounts/views.py b/apps/accounts/views.py index e51c60e..d463522 100644 --- a/apps/accounts/views.py +++ b/apps/accounts/views.py @@ -21,7 +21,7 @@ class ProfileView(UpdateViewWithUser): template_name = "accounts/profile.html" def get_object(self): - return self.request.user.userprofile + return self.request.user.profile class SettingsListView(DetailView): @@ -29,4 +29,4 @@ class SettingsListView(DetailView): template_name = "accounts/profile.html" def get_object(self): - return self.request.user.userprofile + return self.request.user.profile |