想象一下,你有這樣的模式:外鍵問題
class Category(models.Model):
node_id = models.IntegerField(primary_key = True)
type_id = models.IntegerField(max_length = 20)
parent_id = models.IntegerField(max_length = 20)
sort_order = models.IntegerField(max_length = 20)
name = models.CharField(max_length = 45)
lft = models.IntegerField(max_length = 20)
rgt = models.IntegerField(max_length = 20)
depth = models.IntegerField(max_length = 20)
added_on = models.DateTimeField(auto_now = True)
updated_on = models.DateTimeField(auto_now = True)
status = models.IntegerField(max_length = 20)
node = models.ForeignKey(Category_info, verbose_name = 'Category_info', to_field = 'node_id'
最重要的部分是外鍵。 當我嘗試:
Category.objects.filter(type_id = 15, parent_id = offset, status = 1)
我得到得到一回到範疇,它是罰款,因爲它應該返回多個錯誤。但我想過濾結果谷底另一個領域,這將是類型ID(從第二模型)
這就是:
class Category_info(models.Model):
objtree_label_id = models.AutoField(primary_key = True)
node_id = models.IntegerField(unique = True)
language_id = models.IntegerField()
label = models.CharField(max_length = 255)
type_id = models.IntegerField()
的TYPE_ID可以是1任意數量 - 5.我desparately試圖讓只有一個結果,其中TYPE_ID將數字1
這是我想在SQL:
SELECT c.*, ci.*
FROM category c
JOIN category_info ci ON (c.node_id = ci.node_id)
WHERE c.type_id = 15 AND c.parent_id = 50 AND ci.type_id = 1
任何幫助是極大的讚賞。
問候
您的代碼格式化borked(你需要4個空格縮進所有行,而不僅僅是第一個) – 2010-05-04 15:28:48
它現在應該是固定的。 – realshadow 2010-05-04 15:29:28