Skip to content

Homework #311

@Gitfixing

Description

@Gitfixing

1)Для изменения названия раздела с объявлениями в админке необходимо в файле apps.py определить класс конфигурации приложения и задать атрибут verbose_name_plural.

from django.apps import AppConfig

class AdvertisementsConfig(AppConfig):
name = 'advertisements'
verbose_name_plural = 'Объявления'

2)Для вывода времени последнего обновления объявления можно использовать метод strftime() для форматирования даты и времени. Например:

from django.utils import timezone

class Advertisement(models.Model):
title = models.CharField(max_length=100)
description = models.TextField()
price = models.DecimalField(max_digits=8, decimal_places=2)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)

def __str__(self):
    return self.title

def updated_at_display(self):
    if self.updated_at.date() == timezone.now().date():
        return f"Сегодня в {self.updated_at.strftime('%H:%M')}"
    else:
        return self.updated_at.strftime('%d.%m.%Y %H:%M')

updated_at_display.short_description = 'Последнее обновление'

Для того, чтобы отображать это поле в админке, необходимо добавить его в список полей (list_display) в классе администратора:

from django.contrib import admin
from .models import Advertisement

class AdvertisementAdmin(admin.ModelAdmin):
list_display = ('title', 'price', 'created_at', 'updated_at_display')

admin.site.register(Advertisement, AdvertisementAdmin)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions