Проблемы с преобразованием даты и времени в строку в Django - PullRequest
0 голосов
/ 02 сентября 2018

Я не могу понять, почему это не работает, потому что в консоли Python у меня работает нормально ...

class Activity(models.Model):
    id = models.CharField(max_length=250, primary_key=True)
    description = models.CharField(max_length=255, null=False, help_text="Brief description of the activity")
    start = models.DateTimeField(default=timezone.now, verbose_name="Planned start date/time", blank=True)
    end = models.DateTimeField(default=timezone.now, verbose_name="Planned completion date/time", blank=True)

    class Meta:
        verbose_name_plural = 'Activities'

    def save(self, *args, **kwargs):
        self.id = "%s-%s" % (self.description, str(self.start.date()))
        super(Activity, self).save(*args, **kwargs)

    def __str__(self):
        """
        String for representing the Model object (in Admin site etc.)
        """
        return f'{self.description}'

Но что я получаю для своего поля self.id (используя «xx» в качестве описания):

"xx-<built-in method date of datetime.datetime object at 0x000001FCBAAA51E0>"

1 Ответ

0 голосов
/ 02 сентября 2018

Попробуйте использовать strftime вместо

def save(self, *args, **kwargs):
    self.id = "%s-%s" % (self.description, self.start.strftime('%m/%d/%Y'))
    super(Activity, self).save(*args, **kwargs)
...