Как изменить формат ввода времени в административном интерфейсе? - Python

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Я совсем только начал осваивать django и у меня возник вопрос. Предположим есть модель которая описывает новость.
сtime - это время создания новости. должно оно храниться в unixtime и проставляться автоматически при создании новости. mtime - время модификации (последней). тоже в unixtime. и тоже автоматом должно проставляться при изменении новости. ptime - это время публикации новости. хранится оно в unixtime. но живому человеку не удобно ставить даты в unixtime в административном интерфейсе. Собственно вопрос, как изменить поведение? Читал про создание своих моделей, но не уверен что именно так надо делать. Как вообще такие вещи принято реализовывать? Спасибо.
О! пришла в голову мысль. Коли уж это всего лиш питонический класс то я могу по сути просто взять и переопределить save. Но не уверен что это бестпрактик.

Решение задачи: «Как изменить формат ввода времени в административном интерфейсе?»

textual
Листинг программы
from django.db import models
from lib.db import mymodels
 
 
class News(models.Model):
    url = models.SlugField(max_length=255, unique=True)
    title = models.CharField(max_length=255)
    lead = models.CharField(max_length=255)
    text = models.TextField()
    ptime = mymodels.UnixTimeField()
    ctime = mymodels.UnixTimeField(editable=False,auto_now_add=True)
    mtime = mymodels.UnixTimeField(editable=False,auto_now=True)
    version = models.IntegerField(default=1, editable=False)
    status = models.BooleanField()
 
  
    def __unicode__(self):
        return '%s %s' % (self.title, self.lead)
        
    def save(self, *args, **kwargs):
        if self.id:
            self.version += 1
 
        return super(News, self).save(*args, **kwargs)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы