Django-contrib-comments не удается получить аутентифицированного пользователя

Я сейчас реализую django-contrib-comments и представление post_comment не может определить текущего аутентифицированного пользователя (говоря моими новичковыми словами). Я прикрепил форму комментариев к моему объекту poller, который сам имеет внешний ключ к моей модели пользователя Account.

AttributeError at /comments/post/
У объекта 'Account' нет атрибута 'get_full_name'

class Poller(models.Model):
    poller_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    created_by = models.ForeignKey(Account, on_delete=models.CASCADE)
    [..]

Представление post_comment здесь не работает:

def post_comment(request, next=None, using=None):
    data = request.POST.copy()
        if request.user.is_authenticated:
            if not data.get('name', ''):
                data["name"] = request.user.get_full_name() or request.user.get_username() # fails here

Моя пользовательская модель пользователя унаследована от AbstractBaseUser:

class Account(AbstractBaseUser):

    email = models.EmailField(verbose_name='email', max_length=60, unique=True)
    username = models.CharField(max_length=40, unique=True)
    [..]

AbstractBaseUser удаляет метод get_full_name, поэтому вы должны сделать это самостоятельно. Что-то вроде этого:

class Account(AbstractBaseUser):
    email = models.EmailField(verbose_name='email', max_length=60, unique=True)
    username = models.CharField(max_length=40, unique=True)
    [...]

    def get_full_name(self):
        return f'{self.first_name} {self.last_name}'
Вернуться на верх