Modify the DateField format shown on ModelAdmin list_display

On my ModelAdmin I'm able to see task_date DateField using the format I desire (which is # format='%Y-%m-%d'). However, when using list_display('task_date'), the same DateField is shown in another format. How can I specify the format that list_display needs to use for DateFields?

On models.py

class StaffTimeSheet(models.Model):

    time_sheet_owner = models.ForeignKey("Staff", on_delete=models.CASCADE)
    task_date = models.DateField(verbose_name='Date') # format='%Y-%m-%d'        
    task_belongs_to_order = models.ManyToManyField("Order", related_name = 'order_present_in_timesheet_of')
    task_start_time = models.TimeField()
    task_end_time = models.TimeField()
    service_category = models.ManyToManyField("ServiceCategory", related_name = 'service_category_present_in_timesheet_of')
    task_description = models.TextField()

    def __str__(self):
        return str(self.time_sheet_owner) + " / " + str(self.task_date) + " / " + str(self.task_start_time) 
    

On admin.py

class StaffTimeSheetModelAdmin(admin.ModelAdmin):
 #determines size of input text box
    formfield_overrides = {
        models.CharField: {'widget': TextInput(attrs={'size':'50'})},
        models.TextField: {'widget': Textarea(attrs={'rows':2, 'cols':50})},
    }

    fields = ['time_sheet_owner','task_date','task_belongs_to_order','task_start_time','task_end_time','service_category','task_description']

    def task_belongs_to_project_order (self,staff_time_sheet_obj):
        return "\n".join([str(order.order_project.project_number) + "-" + str(order.order_number) for order in staff_time_sheet_obj.task_belongs_to_order.all()])

    # TODO enforce a date format year-month-day
    list_display = ('time_sheet_owner','task_date','task_belongs_to_project_order','task_start_time','task_end_time','task_description')

    search_fields = ['task_date','task_description','task_belongs_to_order__order_number','task_belongs_to_order__order_project__project_number'] # TODO add task_belongs_to_project_order
    list_filter = ('time_sheet_owner','task_date',)


admin.site.register(StaffTimeSheet, StaffTimeSheetModelAdmin)

This is how the DateField looks when creating a new StaffTimeSheet object

date filed format

This is the list of created StaffTimeSheet objects in which I want to modify the format of the task_date DateField

date filed format list_display



from Recent Questions - Stack Overflow https://ift.tt/3lZA85Y
https://ift.tt/3lTyXVx

Comments

Popular posts from this blog

Spring Elasticsearch Operations

Network Error and Timeout on Authorize.net JS

Object oriented programming concepts (OOPs)