pythondjangodate-formatting

In the Django admin site, how do I change the display format of time fields?


I recently added a new model to my site, and I'm using an admin.py file to specify exactly how I want it to appear in the admin site. It works great, but I can't figure out how to get one of my date fields to include seconds in it's display format. I'm only seeing values like "Aug. 27, 2011, 12:12 p.m." when what I want to be seeing is "Aug. 27, 2011, 12:12*:37* p.m."


Solution

  • Try this in the ModelAdmin:

    def time_seconds(self, obj):
        return obj.timefield.strftime("%d %b %Y %H:%M:%S")
    time_seconds.admin_order_field = 'timefield'
    time_seconds.short_description = 'Precise Time'    
    
    list_display = ('id', 'time_seconds', )
    

    Replacing "timefield" with the appropriate field in your model, of course, and adding any other needed fields in "list_display".