2015-01-14 43 views
0

對於expample我有這樣的事情:用戶 - >公司 - >工人─> SomeStuff-> SomeDeeperStuff 直通樣子:什麼是正確的方式來建立與Django的深層依賴數據庫?

class Company(models.Model): 
    user = models.ForeignKey(User) 
class Worker(models.Model): 
    company = models.ForeignKey(Company) 

等等......這就是看起來像正道我。 但有時我想做一個快捷方式並將ForeignKey(用戶)添加到所有其他模型(工人,SomeStuff ...)。 那麼正確的方法是什麼?禪宗的道路?如果我的直接方式是最好的,那麼爲用戶過濾內容的最佳方式是什麼?

回答

0

Denormalization不是正確的方法,但可以使用,如果你有性能問題。你有大量的數據,你加入查詢很慢?

獲取用戶的數據,最好的辦法是標準的連接:

SomeDeeperStuff.objects.filter(somestuff__worker__company__user=user) 
+0

沒有性能比較的問題呢。我錯過了這個__some__stuff__結構。 –

相關問題