2008-11-16 16:50:06 +08:00
|
|
|
# coding: utf-8
|
2006-05-02 09:31:56 +08:00
|
|
|
"""
|
2007-03-24 04:17:04 +08:00
|
|
|
32. Callable defaults
|
2006-05-02 09:31:56 +08:00
|
|
|
|
2006-06-01 03:23:07 +08:00
|
|
|
You can pass callable objects as the ``default`` parameter to a field. When
|
|
|
|
the object is created without an explicit value passed in, Django will call
|
|
|
|
the method to determine the default value.
|
|
|
|
|
|
|
|
This example uses ``datetime.datetime.now`` as the default for the ``pub_date``
|
|
|
|
field.
|
2006-05-02 09:31:56 +08:00
|
|
|
"""
|
|
|
|
|
|
|
|
from datetime import datetime
|
|
|
|
|
2011-10-14 02:04:12 +08:00
|
|
|
from django.db import models
|
2012-08-12 18:32:08 +08:00
|
|
|
from django.utils.encoding import python_2_unicode_compatible
|
2011-10-14 02:04:12 +08:00
|
|
|
|
|
|
|
|
2012-08-12 18:32:08 +08:00
|
|
|
@python_2_unicode_compatible
|
2006-05-02 09:31:56 +08:00
|
|
|
class Article(models.Model):
|
2007-08-05 13:14:46 +08:00
|
|
|
headline = models.CharField(max_length=100, default='Default headline')
|
2006-06-01 03:23:07 +08:00
|
|
|
pub_date = models.DateTimeField(default=datetime.now)
|
|
|
|
|
2012-08-12 18:32:08 +08:00
|
|
|
def __str__(self):
|
2006-05-02 09:31:56 +08:00
|
|
|
return self.headline
|