我正在嘗試創建自定義時間戳字段。Django:時間戳字符串自定義字段
class TimestampKey(models.CharField):
__metaclass__ = models.SubfieldBase
def __init__(self, *args, **kwargs):
import time
kwargs['unique'] = True
kwargs['max_length'] = 20
kwargs['auto_created'] = True
kwargs['editable']=False
super(TimestampKey, self).__init__(*args, **kwargs)
def to_python(self, value) :
return value
def get_db_prep_value(self, value) :
try:
import time
t = time.localtime()
value = reduce(lambda a,b:str(a)+str(b),t)
except ValueError:
value = {}
return value
class Table1(models.Model):
f = TimestampKey(primary_key=True)
n = ....
它將適當的時間戳值存儲在數據庫中。但它不填充對象中的字段'f'。
如:
t1 = Table1(n="some value")
t1.f -> blank
t1.save()
t1.f -> blank.
這就是問題所在。我是否錯過了一些東西,以便它不填充該字段? 請在此闡明一些。
謝謝。
謝謝krubo。這實際上幫助了我。 – MSW 2009-06-13 01:46:21