24 lines
737 B
Python
24 lines
737 B
Python
from django.db import models
|
|
from django.contrib.auth.models import User
|
|
from django.conf import settings
|
|
|
|
class Profile(models.Model):
|
|
user = models.OneToOneField(User, on_delete=models.CASCADE)
|
|
image = models.ImageField(upload_to='avatars/', null=True, blank=True)
|
|
displayname = models.CharField(max_length=20, null=True, blank=True)
|
|
info = models.TextField(null=True, blank=True)
|
|
|
|
def __str__(self):
|
|
return str(self.user)
|
|
|
|
@property
|
|
def name(self):
|
|
if self.displayname:
|
|
return self.displayname
|
|
return self.user.username
|
|
|
|
@property
|
|
def avatar(self):
|
|
if self.image:
|
|
return self.image.url
|
|
return f'{settings.STATIC_URL}images/avatar.svg' |