【发布时间】:2021-07-30 14:44:28
【问题描述】:
如何使用以前用户选择的子项填充多页表单字段。
在此代码中,表单呈现带有空复选框的选项。 我希望复选框显示用户订阅了哪些订阅。
models.py
>class Subscription(models.Model):
SUBSCRIPTION_TYPES = (
('SUB1', _('sub 1')),
('SUB2', _('sub 2')),
)
subscription_type = models.CharField(choices=SUBSCRIPTION_TYPES, max_length=30, unique=True)
description = models.CharField(max_length=255, blank=True)
class UserSubscription(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
subscriptions = models.ManyToManyField(Subscription, related_name='subscriptions',
related_query_name='subscriptions')
forms.py
>class SubscriptionForm(forms.ModelForm):
class Meta:
model = UserSubscription
fields = ('subscriptions',)
widgets = {
'subscriptions': forms.CheckboxSelectMultiple(),
}
views.py
>class SubscriptionFormView(FormView):
template_name = 'profile/subscription.html'
form_class = SubscriptionForm
【问题讨论】: