0
比方說,我有Cars
,CarTypes
,他們BuildDates
這樣的:如何讓數據庫字段在Django中不可更改?
class Car(db.models):
licence_name = models.CharField(max_length=64)
car_type = models.ForeignKey(Type)
class Type(db.models):
name = models.CharField(max_length=64)
build_during = models.ForeignKey(BuildDate)
class BuildDate(db.models):
begin = models.DateField(null=True)
end = models.DateField(null=True)
class Meta(object):
unique_together = (('begin', 'end'),)
我想有BuildDates
在一個單獨的表這樣我可以做的更快的查詢和其他的東西與Django的外部工具。
由於BuildDates
是獨一無二的,但CarTypes
之間共享,我要確保這一點:一個CarType
t1
的BuildDate
d0
如果改變了,其他CarTypes不會受到影響,他們仍然共享相同的創建日期d0
- 但與t1
現在有d1
。我認爲有必要爲該CarType
t1
創建一個新的BuildDate
d1
。有沒有建議或推薦的方法來做到這一點?
如何具有應該產生更快的查詢的獨特模式?小心分享幾個用例? – 2014-09-01 13:45:17
SELECT cards_car.id FROM cars_car,cars_type,cars_builddate WHERE cars_builddate.begin> = x和cards_builddate.end <= y AND cars_car.type == cars_type.id AND cars_type.build_during = cars_builddates.id – AME 2014-09-01 14:52:52
Err ... Are you * *真的**確定添加一個內部連接會**真的**使您的查詢更快?如果是,我想知道你正在使用哪個SQL數據庫。就我而言,我從來沒有見過添加連接的結果,恰恰相反 - 事實上,甚至有一個名爲「非規範化」的小遊戲,您通過擺脫連接來交換原子性能以實現性能。 – 2014-09-01 15:00:21