创建一个django表单,其中包含多对多模型和一个through参数,所有选项都是必需的

创建一个django表单,其中包含多对多模型和一个through参数,所有选项都是必需的,django,django-models,django-views,django-forms,django-templates,Django,Django Models,Django Views,Django Forms,Django Templates,你好, 经过几个小时的研究,我仍然没有找到一个适合我的解决方案。我想创建一个表格,以适应现有产品类型的数量。我希望在注册用户时,表单要求他为每种类型的产品提供一定数量的产品 这是我想要的结果。但是我能做的最相似的是一个内联表单集,但我不能修改多选择框 我希望有人能给我指出正确的道路 谢谢葛 models.py class OfferingType(models.Model): title = models.CharField(max_length=100, unique=True)

你好,

经过几个小时的研究,我仍然没有找到一个适合我的解决方案。我想创建一个表格,以适应现有产品类型的数量。我希望在注册用户时,表单要求他为每种类型的产品提供一定数量的产品

这是我想要的结果。但是我能做的最相似的是一个内联表单集,但我不能修改多选择框

我希望有人能给我指出正确的道路

谢谢葛

models.py

class OfferingType(models.Model):
    title = models.CharField(max_length=100, unique=True)
    description = models.TextField(blank=True)

class Registration(models.Model):
    user = models.ForeignKey(User, on_delete=models.RESTRICT)
    activity = models.ForeignKey(Activity, on_delete=models.RESTRICT)
    sessions = models.ManyToManyField(Session, related_name='registrations')
    offerings = models.ManyToManyField(OfferingType, through='RegistrationOffering',
                                       related_name='registration_offering')
    commentary = models.TextField(blank=True)

    class Meta:
        unique_together = ('user', 'activity')


class RegistrationOffering(models.Model):
    offering_type = models.ForeignKey(OfferingType, on_delete=models.RESTRICT)
    registration = models.ForeignKey(Registration, on_delete=models.RESTRICT)

    amount = models.DecimalField(max_digits=6, decimal_places=1,
                                 default=0.0, validators=[django.core.validators.MinValueValidator(0.0)])