0

ユーザーが一度に複数のイベントを作成できるようにしたいと考えています。そのため、繰り返し回数を指定できるフィールドを admin-add-page に追加したいと考えています。次に、保存機能をオーバーライドして、(入力に基づいて) 複数のイベントを作成します。コードを書き始めましたが、管理者の追加ページがまったく更新されません。以下にコードを示します。

admins.py で:

class EventAdmin(admin.ModelAdmin):
    form = EventForm
admin.site.register(Event, EventAdmin)

forms.py で

from django import forms
from django.db import models
from calendar_app.models import Event
class EventForm(forms.ModelForm):
    name = models.CharField(max_length=100) # just for testing purpose
    class Meta:
        model = Event

    def __init__(self, *args, **kwargs):
        super(EventForm, self).__init__(*args, **kwargs)
        if not kwargs.has_key('instance'):
            self.fields['name'] = forms.CharField(label='Name')
            self.base_fields['name'] = forms.CharField(label='Name') 

    def save(self, commit=True):
        model = super(EventForm, self).save(commit=False)
        # Save all the fields...
        if commit:
            model.save()
        return model

しかし、イベントを追加すると「名前」フィールドが表示されません。何か案は?ありがとう!

4

1 に答える 1

-1

forms.CharField の代わりに models.CharField を使用しました。コメントを参照してください。

于 2016-06-09T14:18:04.873 に答える