次のようなオブジェクト構造があります。
顧客 -- 1 対多 -- 場所
場所 -- 多対多 -- 部署
部門 -- 1 対多 -- オブジェクト
これが私のmodels.pyです(私のadmin.pyは標準です):
class Customer(models.Model):
customerName = models.CharField(max_length=64)
class Department(models.Model):
departmentName = models.CharField(max_length=64)
class Location(models.Model):
customer = models.ForeignKey(Customer)
departments = models.ManyToManyField(Department)
class Object(models.Model):
location = models.ForeignKey(Location)
department = models.ForeignKey(Department)
問題は、オブジェクトの部門を設定したいときに、django admin ドロップダウンですべての部門を取得することです。さまざまな顧客の場所に関連付けられている部門も取得します。
また、オブジェクトの部門を設定すると、異なる顧客に関連付けられている部門であっても、利用可能なすべての部門の同じリストが表示されます。
顧客がサポートしている部門のみをドロップダウンに表示するにはどうすればよいですか?