我開始學習Django的最近的,不能找到一個簡單的問題的答案。 我有2個表:客戶端和地址。Django的創建關係的一個一對多
------------------
CLIENT |
------------------
ID |
NAME |
ADDRES_REF |
------------------
------------------
ADDRES |
------------------
ID |
NAME |
CITY |
COLLECTION |
------------------
它們之間的關係是:client.addres_ref = addres.collection。 爲了選擇客戶端的所有地址,ID爲123我要創建這樣的查詢:
select addres.name, addres.city from addres, client where client.addres_ref=addres.collection and client.id=123;
當然它的更多鈔票來創建關係多到很多,但我不不會產生額外的表,它和變化表格的結構。
class Addres(models.Model):
address = models.CharField(max_length=150)
city = models.ForeignKey(City)
class Client(models.Model):
addres =models.ManyToMany(Addres)
email =models.EmailField(blank=True)
name =models.CharField(max_length=50)
它是更多鈔票在ADDRES模型的ForeignKey添加(客戶端),但我需要從其他型號參考ADDRES太像用戶,僱主...... 請幫我創造與上文關係模型陳述表。
他應該使用一個通用的外鍵,如果他希望能夠使用客戶端以外的模型的地址模型。同樣看問題(「爲了選擇所有地址」),似乎每個客戶端會有多個地址......您將使用「Addres.objects.filter(collection = 123)」來代替您的答案 – DTing 2011-03-06 13:18:19
是的,好點:) – 2011-03-06 13:25:31