0
我有以下型號我想加盟:加入不相關的模型和過濾的queryset
Datapoint
class Datapoint(models.Model):
id = models.IntegerField(db_column='ID', primary_key=True) # Field name made lowercase.
composition = models.ForeignKey(Composition, models.DO_NOTHING, db_column='Composition', blank=True, null=True) # Field name made lowercase.
value = models.IntegerField(db_column='Value') # Field name made lowercase.
Composition
class Composition(models.Model):
id = models.IntegerField(db_column='ID', primary_key=True) # Field name made lowercase.
name = models.CharField(db_column='Name', max_length=45, blank=True, null=True) # Field name made lowercase.
DataComponent
class Datacomponent(models.Model):
id = models.IntegerField(db_column='ID', primary_key=True) # Field name made lowercase.
composition = models.ForeignKey(Composition, models.DO_NOTHING, db_column='Composition_ID', null=True, blank=True) # Field name made lowercase.
components = models.ForeignKey(Components, models.DO_NOTHING, db_column='Components_ID') # Field name made lowercase.
componentvalue = models.FloatField(db_column='ComponentValue') # Field name made lowercase.
最後,Component
class Components(models.Model):
id = models.IntegerField(db_column='ID', primary_key=True) # Field name made lowercase.
name = models.CharField(db_column='Name', max_length=45, blank=True, null=True) # Field name made lowercase.
每個數據點包含一個外鍵成分表。因此Datapoint
和Composition
表是相關的。每個組合都有許多組件,它們通過Datacomponent表中的組成字段鏈接,該表中還包含組件表的外鍵。
最終目標是建立由Datacomponents表中的特定組件值過濾的Datapoint對象列表。
例如讓我們說我們有一些數據點。如果我們只有2個組合A和B.A包含2個元素AA和BB,其值分別爲30和50。 B包含3個元素AA BBB和CC,值分別爲40,50和60。在這種情況下的一個示例查詢將 - 獲取組件AA的值超過30的所有數據點。
由於Datacomponent不與Datapoint直接鏈接,我不確定如何組合這兩個模型。目前我正在嘗試在tastypie
庫的get_object_list
中構建這個。
任何幫助將不勝感激。
不知道這是這麼簡單!非常感謝您的回答:) – javaCity
還有一個問題,我有多個component__name,每個組件值必須大於或等於某個值(本例中爲30)。由於所有的表格都將被連接,我怎樣才能得到每個分量值都是30的組合的數據點? – javaCity