2008-11-16 09:50:06 +01:00
|
|
|
# coding: utf-8
|
2006-05-02 03:31:56 +02:00
|
|
|
"""
|
2007-03-23 21:17:04 +01:00
|
|
|
32. Callable defaults
|
2006-05-02 03:31:56 +02:00
|
|
|
|
2006-05-31 21:23:07 +02: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 03:31:56 +02:00
|
|
|
"""
|
|
|
|
|
|
|
|
from datetime import datetime
|
|
|
|
|
2011-10-13 20:04:12 +02:00
|
|
|
from django.db import models
|
2012-08-12 12:32:08 +02:00
|
|
|
from django.utils.encoding import python_2_unicode_compatible
|
2011-10-13 20:04:12 +02:00
|
|
|
|
|
|
|
|
2012-08-12 12:32:08 +02:00
|
|
|
@python_2_unicode_compatible
|
2006-05-02 03:31:56 +02:00
|
|
|
class Article(models.Model):
|
2007-08-05 07:14:46 +02:00
|
|
|
headline = models.CharField(max_length=100, default='Default headline')
|
2006-05-31 21:23:07 +02:00
|
|
|
pub_date = models.DateTimeField(default=datetime.now)
|
|
|
|
|
2012-08-12 12:32:08 +02:00
|
|
|
def __str__(self):
|
2006-05-02 03:31:56 +02:00
|
|
|
return self.headline
|