2010-04-19 95 views
2

我想有一個Django模型是這樣的:django模型是否可以嵌入類?

class Model(models.Model): 
string = models.CharField() 
class ContactDetails: 
    phone = models.IntegerField() 

這可能嗎?我試着用搜索引擎,但它似乎並沒有回答我的問題

這意味着同時accesssing我有:

Model().ContactDetails.phone 

那樣工作:)

回答

1

它可以嵌入類(一種常見的情況是class Meta),但是任何models.*Field成員都被忽略。它在SQL中沒有意義。

你想要的是一個多到一:

class Thing(models.Model): # Don't name this class 'Model'! 
    name = models.CharField(max_length=100) 

class ContactDetails: 
    parent = models.ForeignKey(Thing, related_name="contactDetails") 
    phone = models.IntegerField() 

然後訪問:

thing = Thing(); 
# ... set up thing ... 
thing.save() 
contact1 = ContactDetails(parent=thing) 
# ... set up contact1 ... 
contact1.save() 
contact2 = ContactDetails(parent=thing) 
# ... set up contact2 ... 
contact2.save() 
# ... 
thing.contactDetails.all() 
# returns a list with contact1 and contact2 

或什麼的。

+0

謝謝! :)真的有幫助! – 2010-04-19 16:43:52

相關問題