0

ユーザーが選択した選択肢(オプション)をデータベースに保存し、データベースに保存されたデータを使用して同じものを入力(チェック/選択)しようとしています。

モデル:

class ScheduledEvent(models.Model):

event_id            = models.IntegerField()
project_id          = models.ForeignKey(Project, db_column = 'project_id')
start_date          = models.DateTimeField(null = False, default = timezone.now)
end_date            = models.DateTimeField(null = False, default = timezone.now)
next_scheduled_date = models.DateTimeField(default = timezone.now)
include_week_day    = models.CharField(max_length=200)
include_month_day   = models.CharField(max_length=200)

残りのコード:

weekdays=(('Mon',"Monday"),
        ('Tue','Tuesday'),
        ('Wed','Wednesday'),
        ('Thr','Thrusday'),
        ('Fri','Friday'),
        ('Sat','Saturday'),
        ('Sun','Sunday'))


class CheckBoxdays(forms.ModelForm):
    model = ScheduledEvent
    included_week_day = forms.MultipleChoiceField(choices=weekdays, widget=forms.CheckboxSelectMultiple)

オプションはデータベースに保存されていますが、データベースに保存されているデータから選択肢 (オプション) が入力されていません。

ただし、次のコードは正しく機能します。

weekdays=(('1',"Monday"),
        ('2','Tuesday'),
        ('3','Wednesday'),
        ('4','Thrusday'),
        ('5','Friday'),
        ('6','Saturday'),
        ('7','Sunday'))

class CheckBoxdays(forms.ModelForm):
    model = ScheduledEvent
    include_week_day = forms.MultipleChoiceField(choices=weekdays, widget=forms.CheckboxSelectMultiple)

選択タプルの最初の値が 1 文字の場合、オプションが設定されます。ここで何か間違ったことをしていますか??

4

1 に答える 1

0

やりたいことを行うには、MultipleChoiceFile のモデル バージョンを使用する必要があります。

class CheckBoxdays(forms.ModelForm):
    model = ScheduledEvent
    include_week_day = forms.ModelMultipleChoiceField(choices=weekdays, widget=forms.CheckboxSelectMultiple)
于 2015-05-28T13:17:37.587 に答える