1

再会。

我正在构建一个用于订购打印件的应用程序,并且在用户除了从预定义的值中进行选择外,还可以输入她自己的打印数据。

考虑以下:

class PrintItem(models.Model):
    """ Something printable. Poster, t-shirt, mug, etc """
    name = models.CharField(max_length=20)

class AttributeType(models.Model):
    """ Size,colour, etc """
    name = models.CharField(max_length=20)

class Attribute(models.Model):
    """ Size: A4, A5 | Colour: Violet, Black """
    name = models.CharField(max_length=20)
    type = models.ForeignKey(AttributeType)

# And a join model
class PrintAttribute(models.Model):
    print_item = models.ForeignKey(PrintItem)
    attributes = models.ManyToManyField(Attribute)

# The user adds these to a cart
class Cart(models.Model):
    user = models.ForeignKey(User)

class CartItem(models.Model):
    cart = models.ForeignKey(Cart)
    print_item = models.ForeignKey(PrintItem)

这一切都很好。用户可以从预定义的属性中进行选择,但是您建议我如何以及在哪里实现用户输入功能?用户找到要打印的项目,从预定义的属性(打印尺寸、墨水颜色)中进行选择,并且可以输入她自己的消息/标语以在项目上打印。

感谢任何建议。

4

1 回答 1

1

如果用户自己的标语/消息仅在将打印项目添加到购物车时输入,则标语/消息应为CartItem.

于 2012-11-10T12:18:52.827 回答