尋找建立此模型的建議。Django模型 - 建立「has_many_through」關係
這個工作板應用程序有公司,位置和工作。他們應該有以下關係:
- ,公司可以有多個位置
- ,公司可以有多個作業
- 一個作業只能有一個公司
- 作業可以具有多個位置,但每地點必須是有效的工作的公司
我想創建一個模型,反映這些關係。我覺得這樣的事情可能工作:
class Company(models.Model):
name = models.CharField(max_length=200)
description = models.TextField()
class Location(models.Model):
is_primary_location = models.BooleanField()
address = models.CharField(max_length=200)
company = models.ForeignKey(Company)
class Job(models.Model):
title = models.CharField(max_length=200)
company = models.ForeignKey(Company)
location = models.ForeignKey(Location)
但我真的很喜歡「招聘具有位置(一個或多個)通過公司」關係被強制執行。該模型沒有強制執行;我想我必須在數據顯示時過濾有效的位置,我想避免這種情況。
非常感謝!
我結束了不使用智能選擇,而是隻是增加了一個驗證規則時,作業保存:'如果(self.company_id! = Location.objects.get(pk = self.location_id).company_id): raise ValidationError('Location is not valid for company')' – billrichards