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 свойством.