我有 3 个模型:
class POHeader(models.Model):
number = models.CharField(max_length="5", unique=True)
class Modules(models.Model):
# this has M:M relationship with the Service model
name = models.CharField(max_length="5", unique=True)
class Service(models.Model):
#id is the key field which is auto generated
# apart from other attributes ..
poheader = models.ForeignKey(POHeader)
modules = models.ManyToManyField(Module)
Service modelform 内联到 POHeader。此外,这些模块还有 admin.py 中使用的多项选择:
class ServiceForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(ServiceForm, self).__init__(*args, **kwargs)
modules = forms.ModelMultipleChoiceField(
queryset=Module.objects.all(),
required=False,
widget=forms.CheckboxSelectMultiple())
class Meta:
"""
Service Model
"""
model = Service
现在的问题是,对于为每个服务选择的每个模块,我想为该模块添加其他详细信息。如何实现?这些属性是否需要添加到服务模型中?这怎么可能实现。例如对于一个 poheader 1 条目:
服务 1 模块 1 数量 25 模块 2 数量 27
服务 2 模块 7 数量 2
这里我想为为服务选择的模块添加附加属性数量 qty
请记住,我们正在使用 Service as admin.TabularInline 执行 POHeader 条目。