1
我可以更改datetime.datetime對象的默認__str__()
函數嗎? 默認情況下,它返回類似'2010-06-28 12:43:56.985790'
的東西,我需要它來打印'2010-06-28T12:44:21.241228'
(這是isoformat()函數)。在python中更改默認日期打印格式
我需要這個JSON序列化的Django模型。
我的模式是:
class Transport(models.Model):
user = models.ForeignKey(User)
source = models.ForeignKey(Marker, related_name="source_marker")
destination = models.ForeignKey(Marker, related_name="destination_marker")
object = models.CharField(choices=possesion_choices, max_length=2**6)
quantity = models.IntegerField()
time_sent = models.DateTimeField()
time_arrived = models.DateTimeField()
當我序列化(使用wadofstuff module),它打印像
print serializers.serialize('json', Transport.objects.all(), relations=('source', 'destination',) indent=4)
[
{
"pk": 1,
"model": "main.transport",
"fields": {
[.. bla bla ..]
"time_sent": "2010-06-28 12:18:05",
"time_arrived": "2010-06-28 12:38:36",
[.. bla bla ..]
}
}
]
花了我一會兒才找到這方面的文檔。它在自定義字段頁面 - http://docs.djangoproject.com/en/1.2/howto/custom-model-fields/#converting-field-data-for-serialization – pycruft 2010-06-28 10:37:52
顯然,這是行不通的。輸出是一樣的。奇怪,因爲文件說它應該這樣做。 – 2010-06-28 11:05:39