2
我有一個模型日曆和表單,我希望能夠創建它的多個實例。如何使用ModelMultipleChoiceField保存表單?
這裏是我的模型:
class Event(models.Model):
user = models.ForeignKey(User)
class Group(models.Model):
name = models.CharField(_('Name'), max_length=80)
events = models.ManyToManyField(Event, through='Calendar')
class Calendar(models.Model):
event = models.ForeignKey(Event)
group = models.ForeignKey(Group)
class CalendarInline(admin.TabularInline):
model = Calendar
extra = 1
class GroupAdmin(admin.ModelAdmin):
inlines = (CalendarInline,)
這裏是我嘗試編寫自己的狀態:
class AddEventToGroupForm(ModelForm):
group = ModelMultipleChoiceField(queryset=Group.objects.all(), widget=SelectMultiple())
def save(self):
for g in self:
g.save()
class Meta:
model = Calendar
fields = ('group',)
這裏是我的觀點的一部分:
e = Event.objects.get(id=event_id)
calentry = Calendar(event=e)
if request.POST:
f = AddEventToGroupForm(data=request.POST, instance=calentry)
if f.is_valid():
f.save()
如果我嘗試提交該表格,我得到:
AttributeError at /groups/add_event/7/
'BoundField' object has no attribute 'save'
在此 的情況下創建多個日曆實例的正確方法是什麼?