0

顧客、契約、レポートの 3 つのモデルがあります。

class Customer
    pass

class Contract
    customer = models.ForeignKey(Customer)

class Report
    customer = models.ForeignKey(Customer)
    contract = models.ForeignKey(Contract, null=True, blank=True, default=None)

レポートを編集するときに管理者で顧客または契約を選択したいのですが、契約の顧客を選択した場合は、契約の顧客に設定する必要があります

4

1 に答える 1

0

admin.pyオーバーライドsaveメソッドで:

def save_model(self, request, obj, form, change):
    if obj.contract:
        obj.customer = obj.contract.customer # set customer to related contract customer
    else:
        #probably you do not do anything in here
    obj.save()
于 2013-01-26T12:47:04.203 に答える