万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・寄付お願いします
    YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
    BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
    c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1

Djangoのauto_now=Trueの罠

Modelで、auto_now=Trueにしてしまうと、 timestampは、editable=Trueをしてもadmin上に表示されない

    timestamp = models.DateTimeField(editable=True)

なので、save()をオーバーライドして対処する必要がある。

参考: http://stackoverflow.com/questions/1737017/django-auto-now-and-auto-now-add

    def save(self, *args, **kwargs):
        ''' On save, update timestamps '''
        if not self.id:
            self.timestamp = datetime.datetime.today()

        return super(自分のクラス名, self).save(*args, **kwargs)

ここもいいかもしれない。

Djangoの DateTimeField の auto_now と auto_now_add - Ian Lewis