Django "__str__ возвращает нестроку (тип tuple)".

Я видел похожие проблемы, но все еще не могу решить свою. Я делаю систему электронных билетов для электронной коммерции. Вот код.

class Event(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=255, db_index=True)
    banner = models.ImageField(upload_to='banners/' ,null=True, blank=True)
    description = models.TextField(blank=True)
    address = models.CharField(max_length=255)
    slug = SlugField(max_length=255, blank=True)
    event_date_time = models.DateTimeField()
    price_1 = models.DecimalField(max_digits=5, decimal_places=2)
    pool_1 = models.IntegerField()
    pool_date_1 = models.DateTimeField()
    price_2 = models.DecimalField(max_digits=5, decimal_places=2)
    pool_2 = models.IntegerField()
    pool_date_2 = models.DateTimeField()
    price_3 = models.DecimalField(max_digits=5, decimal_places=2)
    pool_3 = models.IntegerField()

    def __str__(self):
        return (
            self.id,
            self.name,
            self.banner,
            self.description,
            self.address,
            self.slug,
            self.event_date_time,
            self.price_1,
            self.pool_1,
            self.pool_date_1,
            self.price_2,
            self.pool_2,
            self.pool_date_2,
            self.price_3,
            self.pool_3
        )


class Ticket(models.Model):
    id = models.AutoField(primary_key=True)
    event = models.ForeignKey(Event, related_name='ticket', on_delete=models.CASCADE)
    slug = SlugField(max_length=255, blank=True)
    date_sold = models.DateTimeField()
    price = models.DecimalField(max_digits=5, decimal_places=2)
    bought_by = models.ForeignKey(User, on_delete=models.CASCADE, blank=True, related_name='buyer')
    promotor = models.CharField(max_length=4, blank=True)

    def __str__(self):
        return (
            self.id,
            self.slug,
            self.date_sold,
            self.price
        )

Я не уверен, какое из этих значений возвращает ошибку, не мог бы кто-нибудь объяснить мне, какое значение и почему возвращает кортеж? Я перепробовал много комбинаций и так и не смог решить эту проблему.

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