ForeignKey dateField结果无

时间:2018-05-20 05:02:21

标签: python django django-views

这里是我的模型和观点

models.py

class ClosingDate(models.Model):
    ...
    name = models.CharField(max_length=255)
    date_from = models.DateField()

class Salary(models.Model):
    ...
    closingdate = models.ForeignKey(ClosingDate, related_name='closingdate')
    desc = models.TextField(blank=True, null=True)

Views.py

class CreateView(CreateView):
    fields = ('employee', 'closingdate')
    model = models.Salary

    def form_valid(self, form):
        self.object = form.save(commit=False)
        self.object.desc = str(self.object.closingdate.date_from)
        self.object.save()

        return super(ModelFormMixin, self).form_valid(form)

我试图获取datefield并将其发布到str中,我使用str(self.object.closingdate.date_from)但是没有结果。但是当我尝试使用名称str(self.object.closingdate.name)时它也可以正常工作。

我的代码有什么问题?...我该怎么办?...谢谢!

1 个答案:

答案 0 :(得分:0)

您无法将datetime转换为字符串,您应该使用属性strftime
See the documentation

date.strftime(format)

返回表示日期的字符串,由显式格式字符串控制。:

self.object.closingdate.date_from.strftime("%B %d, %Y %I:%M:%S %p")