2013-05-27 52 views
0

如何創建這樣的事情:如果我創建MyFile的對象,文檔對象將被自動創建

如果我創建MyFile對象,Document對象將被自動創建(rootfile應該ForeignKeyMyFile

class MyFile(models.Model): 
    user = models.ForeignKey(User) 
    path = models.FileField(upload_to="files") 

class Document(models.Model): 
    rootfile = models.ForeignKey(MyFile) 
    user = models.ForeignKey(User,related_name='doc_owner') 
    title = models.CharField(max_length=255) 
    description = models.TextField() 
    content = models.TextField() 

回答

0

使用post_save()信號MyFile如果它的新的,也創建Document對象。

@receiver(post_save, sender=MyFile) 
def my_handler(sender, **kwargs): 
    if kwargs['created']: 
     #create document object appropriately. 
     document = Document() 
     document.rootfile = kwargs['instance'] 
     document.save()