1
我想在Django管理整合未來三年相關機型:Django管理多對多的子集
# models.py
class Seminar(models.Model):
title = models.CharField(max_length=128, unique=True)
start_date = models.DateField(db_index=True)
end_date = models.DateField(db_index=True)
class Event(models.Model):
title = models.CharField(max_length=128)
start_date = models.DateTimeField(db_index=True)
end_date = models.DateTimeField(db_index=True)
seminar = models.ForeignKey('Seminar')
class Registration(models.Model):
name = models.CharField(max_length=128)
first_name = models.CharField(max_length=128)
seminar = models.ForeignKey('Seminar')
events = models.ManyToManyField('Event', null=True)
# admin.py
class EventInline(admin.TabularInline):
model = Event
class SeminarAdmin(admin.ModelAdmin):
list_display = ('title', 'start_date', 'end_date')
inlines = [
EventInline,
]
class RegistrationAdmin(admin.ModelAdmin):
list_display = ('seminar', 'name', 'first_name')
正如你所看到的,每次研討會可能有幾個事件,從Seminar
管理爲內聯添加條目。
我的問題是註冊的,因爲它們是:
- 相關的研討會
- 可以「訂閱」的這個研討會
當然幾個事件,管理員列出所有事件,而不是與研討會相關的子集,因此:
- 是否可以從管理員(儘可能低的調整)實現這一點?
- 是
Registration
M2MEvent
適當還是應該以不同的方式將這兩個模型關聯?
謝謝!