2010-08-02 10 views
5

Başka bir uygulamanın, bir alt sistemi güncelleştirmek için kullandığı ve kullandığı bir veritabanı tablosunu düzenleyen bir Django uygulamasına sahibim. Veritabanı anketler arasında değiştirilmediğinde işlemeyi en aza indirgemek için, bir satırın oluşturulduğu/silindiği/değiştirildiği her sefer güncellenen bir model için genel bir değişiklik zamanı kullanmak istiyorum. Bunu Django ORM içinde nasıl yapabilirim?Django'da model başına bir tablo değişiklik zamanı uygulanması?

cevap

2

Django, bir tablodaki "son değiştirilme tarihi" ne erişim sağlamaz ve bunu korumaz (model). Bunu kendiniz uygulamanız gerekiyor, ancak bu karmaşık değil.

kolay yolu post_save() ve post_delete() modeli sinyallerini (temelde kancalar,) uygulanması ve aradığınız "Son değiştirilme" tarihini temsil eden bir statik tarih alanı koruyarak Modelinizdeki gerekli sinyalleri yakalamak olacaktır.

+0

Teşekkürler - muhtemelen bir "statik alan" kavramını genişletebilir misiniz: bu ayrı bir Model mi? – kdt

+0

Ayrı bir model yapabilirsin, ama bu gereksiz. Meta 'sınıfındaki modellere sataşırım. –

İlgili konular