在Django Admin中创建新的模型表单字段

时间:2017-03-19 02:24:13

标签: django django-models django-forms django-views django-admin

我的产品型号与manytomany型号的关系locations。我正在为我的客户业务创建一个包含数百种产品和服务的应用程序,但每个产品/服务的交付地点都有不同的价格,可以交付到多个地点。现在我的客户送到4个地点。

解决方案#1 硬编码所有4个位置进入产品模型 - 这是有效的,但不是首选,因为他们想要扩展和硬编码更多的位置只是粗略的..

解决方案#2(当前解决方案 - 下面列出的代码) 与地点建立多种多样的关系 - 这种方法很有效,但是随着各种产品的价格变化而变得无法控制 - 乘以每种产品....

解决方案#3 - 如果存在解决方案,这是我需要的帮助。 我想建立一种上述两种选择的混合体。我喜欢保留多种位置模型,因此随着它们的增长很容易添加位置,但是一旦添加,我希望有一个空的“价格”对象,他们可以在添加或更新产品时填写,但仍然仅分配给该产品。

不确定这是否有意义,所以在我目前的代码(上面的解决方案2)之后,我提供了一个示例图像来帮助说明我的问题。谢谢你的帮助。

产品型号

class Product(models.Model):
    ...
    locations = models.ManyToManyField('Location', related_name='deliver_to')
    ...

位置模型

LOCATIONS = (
    ('Los Angeles', 'Los Angeles'),
    ('Orange County', 'Orange County'),
    ('Riverside', 'Riverside'),
    ('San Diego', 'San Diego')

)


class Location(models.Model):
    l_title = models.CharField(
        max_length=255,
        choices=LOCATIONS,
        verbose_name='Service Location'
    )
    ...

enter image description here

1 个答案:

答案 0 :(得分:0)