允许用户设计带有选择的表单

时间:2017-04-20 03:44:06

标签: python django forms choice multiple-choice

假设我有一个应该允许(时装设计师)发布“自定义设计”的应用

模板中的结果如下:

连衣裙: 请选择材料:1-羊毛,2棉,3羊绒(只能选择一种)

你想要什么颜色:黑色10美元,蓝色,红色,黄色(多种选择)

我想让设计师添加选项选项,并决定(客户)是否可以选择一个选项(单选按钮组)或多个选项(复选框)并收取额外费用并确定默认选项...

** Models.py **

class Choice(models.Model):
# e.g red
    name = models.CharField(max_length=500)
    extra_charge = models.DecimalField(default=0, max_digits=10, decimal_places=2)


class Option(models.Model):
# what colours?
    name = models.CharField(max_length=500)
    choice = models.ForeignKey(Choice)


class Dress(models.Model):
    options = models.ManyToManyField(Choice, related_name='Dress')
    name = models.CharField(max_length=500)
    price = models.DecimalField(max_digits=10, decimal_places=2)

我已经在Django上工作了一段时间,但我不知道如何解决这个问题....

1 个答案:

答案 0 :(得分:0)

根据我的想法,您的Dress Model不应该有option字段,您也应该在foreign key中创建一个名为dress # related to Dress Model的{​​{1}}。
每当您需要设计师添加选项选项时,只需向他显示Option Model,我认为这是您的解决方案!