Supposons que vous ayez plusieurs modèles qui nécessitent des champs de suivi de création et de modification. Au lieu de répéter ces champs dans chaque modèle, vous pouvez créer un mixin TimeStampedMixin qui les définit. #DjangoTips #DRY
auto_now_add=True indique que le champ created_at sera automatiquement défini à la date et heure actuelles lors de la création de l'objet. auto_now=True indique que le champ updated_at sera automatiquement mis à jour chaque fois que l'objet est enregistré. #CodingBestPractices
Ensuite, faites hériter vos modèles de TimeStampedMixin pour ajouter les champs de suivi de création et de modification. #DjangoModels #Python
Notez que TimeStampedMixin doit être défini comme un modèle abstrait (Meta.abstract = True) dans la classe Meta. Cela indique à Django que cette classe ne doit pas être utilisée pour créer une table dans la db, mais seulement pour être héritée par d'autres modèles. #DjangoORM
Maintenant, MyModel et AnotherModel ont tous deux des champs created_at et updated_at, sans que vous ayez à les définir explicitement dans chaque modèle. C'est une façon efficace de réduire la duplication de code et de rendre votre code plus maintenable. #CleanCode #Django