Django выпадающий список пользователей

Я пытаюсь создать трекер проблем, похожий на github. Я застрял на попытке реализовать функцию назначения, вот что я имею на данный момент

class Assign(models.Model):
    name = models.OneToOneField(User, on_delete=models.SET_NULL, null=True)
    

class Issue(models.Model):
    MARK_AS = ((True, 'Open'), (False, 'Closed'))

    title = models.CharField(max_length=100)
    content = models.TextField()
    date_posted = models.DateTimeField(default=timezone.now)
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    assignee = models.ForeignKey(Assign, on_delete=models.SET_NULL, null=True)
    mark_as = models.BooleanField(choices=MARK_AS, default=True)
    

    def __str__(self):
        return self.title
    

    def get_absolute_url(self):
        return reverse('issue-detail', kwargs={'pk': self.pk})

страница администратора Мне кажется, что я уже близко, однако, когда я пытаюсь использовать

class Assign(models.Model):
    name = models.OneToOneField(User, on_delete=models.SET_NULL, null=True)
    
    def __str__(self):
        return self.name

Я получаю ошибку

__str__ returned non-string (type User)

Есть идеи, как это исправить? Спасибо.

ОПИСАНИЕ ОШИБКИ

str возвращает не строку (тип User) означает, что метод представления объекта, т.е. метод Assign.__str__() всегда должен возвращать строку, а не объект, как вы вернули там.

РЕШЕНИЕ

Измените метод Assign Model str() на такой.

def __str__():
   return self.name.username

Примечание:

Вы не должны всегда возвращать self.user.username, как я сделал там, но буквально вы можете вернуть любое поле, которое у вас есть в User модели с CharField свойством.

Вернуться на верх