私は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 モデルフォームは 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
service2 module7 数量 2
ここで、サービス用に選択されたモジュールの追加属性の数量を追加します
admin.TabularInline としてサービスを使用して POHeader エントリを実行していることに注意してください。