将模板中的外键渲染为复选框而不是 Django 中的选择

lel*_*kas 3 django django-templates django-forms

假设我们有这个模型:

class Event(models.Model):
    name = models.CharField('Nome do evento', max_length=50)
    code = models.CharField('Código de entrada', max_length=10)
    artists_list = models.ForeignKey(ListGroup, on_delete=None, 
    related_name='lists_names', null=True)
Run Code Online (Sandbox Code Playgroud)

和这个视图

class HomeView(LoginRequiredMixin, TemplateView):
    template_name = 'home.html'

    def get_context_data(self, **kwargs):
        context = super(HomeView, self).get_context_data(**kwargs)
        context['form'] = CreateEventForm(self.request.POST or None)
        context['defaultTitle'] = 'Novo Evento'
        context['formTitle'] = 'Criar'
        return context

    def post(self, request, *args, **kwargs):
        context = self.get_context_data(**kwargs)
        form = context['form']
        print(form)
        if form.is_valid():
            form.save()
        return self.render_to_response(context)
Run Code Online (Sandbox Code Playgroud)

和这个表格

class CreateEventForm(forms.ModelForm):

    class Meta:
        model = Event
        fields = ('name', 'code', 'artists_list',)
Run Code Online (Sandbox Code Playgroud)

一切都很好,但我希望能够选择我的外键将检索的多个条目。所以我想将每个条目呈现为复选框而不是选择。我怎样才能做到这一点?我已经搜索了很多,只找到了一般的 charfields,没有关于 Foreing Key 这是它的渲染方式

Dan*_*man 6

外键不能指向多个条目。如果需要,您应该使用 ManyToManyField。