Her olayın bir Seriye ait olduğu iki modeli var, Event
ve Series
. Çoğu zaman, bir Etkinliğin start_time
Serisi 'default_time
ile aynıdır.Django Yönetimindeki ana modele göre satır içi satırları önceden doldurma
Modellerin soyulmuş bir sürümü aşağıdadır. Tek seferde bir Series için tüm Olaylar düzenleyebilir ve böylece
#models.py
class Series(models.Model):
name = models.CharField(max_length=50)
default_time = models.TimeField()
class Event(models.Model):
name = models.CharField(max_length=50)
date = models.DateField()
start_time = models.TimeField()
series = models.ForeignKey(Series)
Ben, yönetici uygulamada inlines kullanın.
Bir seri önceden oluşturulmuşsa, 'default_time
Serisi ile her satır içi Olay için start_time
'u önceden doldurmak istiyorum. Şimdiye kadar, Etkinlik için bir model yönetici formu oluşturdum ve zaman alanını önceden belirlenmiş bir süre ile önceden doldurmak için initial
seçeneğini kullandım.
#admin.py
...
import datetime
class OEventInlineAdminForm(forms.ModelForm):
start_time = forms.TimeField(initial=datetime.time(18,30,00))
class Meta:
model = OEvent
class EventInline(admin.TabularInline):
form = EventInlineAdminForm
model = Event
class SeriesAdmin(admin.ModelAdmin):
inlines = [EventInline,]
Buradan nasıl devam edeceğimi bilmiyorum. Kodu genişletmek mümkün mü, start_time
alanı için başlangıç değeri 'default_time
Serisi mi?
bkz. Http://stackoverflow.com/questions/442040/pre-populate-an-inline-formset –