Fecha de creación y edición automáticas en Django

En Django la fecha de creación y modificación no se añade por defecto a nuestros modelos, como sí ocurre en otros frameworks como Ruby On Rails. La forma más elegante de añadir esta funcionalidad a tus modelos es crear una clase base que herede de models.Model y luego hacer que todos tus modelos hereden de la misma.

class BaseModel(models.Model):
    created_date = models.DateTimeField(_('Date created'), auto_now_add=True)
    modified_date = models.DateTimeField(_('Date modified'), auto_now=True)

    class Meta:
        abstract = True

El resto de nuestros modelos donde queramos tener las fechas de creación y actualización automáticas deberán ser del tipo:

class AccountType(BaseModel):
    name = models.CharField(_('Name of this account type ie: Free'), blank=False, max_length=254)
    description = models.TextField(_('Explain the user what he can and can not do with this account'), blank=True, max_length=512)

Añadir un entorno virtual (virtualenv) a Pycharm

Si te encuentras trabajando con Pycharm y a la hora de hacer algún import te encuentras con errores como “Unresolved reference ‘django’“, probablemente se te haya pasado incluir en el path de Pycharm la ruta al entorno virtual con el que estés trabajando. También puede ocurrir que realmente se te haya pasado instalar la dependencia, pero esa es otra historia.

Para añadir tu virtualenv simplemente abre tu proyecto con Pycharm, haz clic en File > Settings > Project: nombre_de_tu_proyecto > Project Interpreter > Rueda dentada > Add local > Busca tu virtual env/bin/python > Ok

Y listo, ya no debería dar problemas.