2014-06-20 28 views
5

https://github.com/llazzaro/django-schedulerhttps://github.com/llazzaro/django-scheduler Takvimde kendi modellerimi kullanmak istiyorum, ayrıca başlangıç ​​ve bitiş tarihi de var.Django zamanlayıcı uygulamasını kendi modellerinizle kullanma

  1. benim modelleri ile etkileşim yapmak için geçerli tarifesi uygulamasını Hack:

    ben bu sorunu çözmek için birden fazla yolu olduğunu düşünüyorum.

  2. Modellerimi oluştururken varsayılan olay modelleri oluşturmak, save() geçersiz kılmayı kullanarak.
  3. Django zamanlayıcı uygulamasının "olayların genel nesnelerle ilişkileri" özelliğini kullanın.
  4. Kendi gereksinimlerimi karşılamak için varsayılan olay modellerini genişletin.

Üçüncü seçeneği kullanmak istiyorum ancak bir takvim tek bir nesneye bağlı olduğundan bunu nasıl kullanacağımı bilmiyorum.

Hem Python hem de Django için yeniyim, bu yüzden birisi bana tavsiyede bulunabilir mi?

+0

So @llazzaro, Üçüncü seçeneği kullandım ve Event sınıfını alt sınıflara ayırdım. Ama ilk gün belirli bir saatte başlar, saat 10'da. Ara günler için "tüm gün" etkinliği olarak kabul edilir ve son günde saat 17'de sona erer. Aynı anda başlayan ve her gün aynı anda biten birkaç gün boyunca tek seferlik bir etkinlik alıp alamayacağımı anladım. – Afrowave

cevap

2

Seçenek 3'ü elde etmek için, genel nesneniz bu takvim uygulamasından Event nesnesine bağlanan bir yabancı anahtara sahip olur. Kendi soyut modeli tanımlamak ve Takvim uzatmak yapabilir, Yani

SCHEDULER_BASE_CLASSES

SCHEDULER_BASE_CLASSES = { 
    'Event': ['my_app.models.EventAbstract1', 'my_app.models.EventAbstract2'] 
    'Calendar': [my_app.models.CalendarAbstract'] 
} 

:

+0

Yani temel olarak seçenek 3 ve 4 aynı huh. Tamamen yeni bir tablo oluşturmuyor mu? – Sem

+0

Tablo bakış açısından seçenek 4, istediğiniz gibi görünmek için Olay tablosunu değiştirmeyi ima eder. Seçenek 3, genel nesnenizle yeni bir tablo oluşturmanın yanı sıra iki tablo arasındaki bağlantılara sahip bir tablo oluşturulmasını ifade eder. Ancak yapmanız gereken şey, 3. seçenek, aksi taktirde bu takvim uygulamasının bakımını vb. Üstlenmeniz gerekiyor. – cchristelis

+0

Sanırım haklısın. Bir Etkinlik alt sınıfı oluşturdum ve kusursuz çalışıyor. Etkinliklerin belirli bir sayfaya bağlanması için bir yol oluşturmaya hala ihtiyaç duyuyorsunuz ama bu başka bir endişe. Yardım için teşekkürler! – Sem

0

Django Zamanlayıcı hile yapabilirsiniz oldukça gizli ayarı (hatta resmi dokümanlar rapor değildir) o.

@Jheasly yaptığı açıklamada söylediği gibi DÜZENLEME

bu özellik artık belgelenmiştir.

+1

Bu programda [SCHEDULER_BASE_CLASSES' [dokümana eklendi] (http://django-scheduler.readthedocs.io/en/latest/settings.html#scheduler-base-classes) gibi görünüyor [25 Haziran 2017, taahhüt] (https://github.com/llazzaro/django-scheduler/commit/4f4ea9ad8d6c8301f181e0180a56b8fa953b6bce). – Jheasly

+0

Evet, bu cevabı yayınladıktan hemen sonra bir sorun açtım – Don

+0

Ah. Wull, bu mantıklı! :) – Jheasly

İlgili konular