我开始学习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