Как выбрать элемент несколько раз в django m2m поле в форме

Я новичок и изучаю django, здесь я хочу позволить пользователю выбирать элементы несколько раз в m2m поле, например, здесь у меня есть модель icecream с классом flavor, связанным с ним в m2m rel, когда форма отображается в шаблоне, я хочу, чтобы пользователь мог выбрать 1 вариант много раз. мои модели:

class IceCream(models.Model):
    hold_choice = (
    ('Cone', 'Cone'),
    ('Cup','Cup'),
    )
    
    type_name = models.ForeignKey('IceCreamType', on_delete=models.CASCADE, null=True, blank=True)
    flavor = models.ManyToManyField(Flavor, verbose_name='total scopes')
    toppings = models.ManyToManyField(Topping)
    holder = models.CharField(max_length=4, choices=hold_choice, default='Cone')
    number_of_icecreams = models.PositiveIntegerField(default=1)
    
    def __str__(self):
        return str(self.type_name)
    
    @property
    def total_scope(self):
        return self.flavor_set.all().count()

модель аромата имеет несколько вариантов:

class Flavor(models.Model):
    CHOCOLATE = 'Chocolate'
    VANILLA = 'Vanilla'
    STRAWBERRY = 'Strawberry'
    WALLNUT = 'Wallnut'
    KULFA = 'Kulfa'
    TUTYFRUITY = 'Tuttyfruity'
    
    choices = (
        (CHOCOLATE, 'chocolate scope'),
        (VANILLA, 'vanilla scope'),
        (STRAWBERRY, 'strawberry scope'),
        (WALLNUT, 'wallnut scope'),
        (KULFA, 'kulfa scope'),
        (TUTYFRUITY, 'tutyfruity scope'),
    )
    flavor = models.CharField(max_length=20, choices=choices, null=True)

    def __str__(self):
        return self.flavor    

теперь если я отображу форму для этого, как можно сделать так, чтобы пользователь мог выбрать 1 элемент (или области) много раз, а также метод, который я создал в модели IceCream не работает и выдает ошибку IceCream не имеет атрибута flavor_set.

представление для его отображения

class OrderIceCream(CreateView):
    model = IceCream()
    template_name = 'prac/home.html'
    fields = '__all__'

Шаблон:

<h1 class="text-center mt-5">Order Ice Cream</h1>

<div class="container border-dark">
    <form action="" method="post">
        {% csrf_token %}
        {{ form|crispy }}
        <input type="submit" class="btn btn-primary mb-3 mt-3">
    </form>
    
</div>

url is:

urlpatterns = [
    path('home/<str:pk>/', IceCream.as_view(), name='home'),
    path('order/<str:pk>/', OrderIceCream.as_view(), name='order-icecream'),
]
<
Вернуться на верх