0
- 一些
Companies
代表一些PlaceTypes
(健身房,游泳池等)。 - 不同
PlaceTypes
有評價不同Criterias
(員工,清潔等) - 根據公司的PlaceType這是必要的,以評估該公司
class Companies(models.Model):
name = models.CharField()
class PlaceTypes(models.Model):
name = models.CharField() # Gym, pool, etc.
company = models.ForeignKey(Companies)
class Criterias(models.Model):
name = models.CharField() # Staff, cleanness, etc.
place_type = models.ForeignKey(PlaceTypes)
class Ratings(models.Model):
company = models.ForeignKey(Companies)
criteria = models.ForeignKey(Criterias)
votes = models.PositiveIntegerField()
total = models.PositiveIntegerField()
運用適當指標分析
因此,在Companies -> PlaceTypes -> Criterias
和Companies <- Ratings -> Criterias
之間存在某種重複。可以嗎?任何人都可以檢查模型之間的關係是否正確?
你確定嗎?如果我是正確的,在這種情況下,評級適用於PlaceTypes而不是公司,即具有相同PlaceType的所有公司獲得相同評分 – TitanFighter
以您描述它的方式,我認爲您的每個PlacesType都屬於一家公司,但現在它似乎很明顯,您的意思是描述公司和地點類型之間的多對多關係,在這種情況下,我會從PlaceType中移除公司字段,而不是在公司模型中聲明以下內容:'place_types = models.ManyToManyField(' PlaceTypes')' – blhsing