我讀this page但沒有得到何時使用嵌入功能以及何時使用linking.I在Django的一個項目裏面我是用我的MongoDB.In文件models.py我有以下型號:嵌入Vs在MongoDB.When中嵌入鏈接和何時鏈接?
class Projects(models.Model):
projectName =models.CharField(max_length = 100,unique=True,db_index=True)
projectManager = EmbeddedModelField('Users')
class Teams(models.Model):
teamType = models.CharField(max_length =100)
teamLeader = EmbeddedModelField('Users')
teamProject = EmbeddedModelField('Projects')
objects = MongoDBManager()
class Users(models.Model):
name = models.CharField(max_length = 100,unique=True)
designation = models.CharField(max_length =100)
teams = ListField(EmbeddedModelField('Teams'))
class Tasks(models.Model):
title = models.CharField(max_length = 150)
description = models.CharField(max_length=1000)
priority = models.CharField(max_length=20)
Status = models.CharField(max_length=20)
assigned_to = EmbeddedModelField('Users')
assigned_by = EmbeddedModelField('Users')
child_tasks = ListField()
parent_task = models.CharField(max_length = 150)
我的問題是,如果我們不這樣做嵌入我們必須更新所有models.Like的對象,如果我想更新「用戶」的名義,我將不得不運行模式更新:項目,團隊,用戶和任務或者鏈接在我的情況下會更好?
你能告訴我一個例子嗎?我會感謝你:) – Anshul
只需用ReferenceField('Users')替換所有EmbeddedModelField('用戶')。 – hymloth
但我使用的是Django-mongoDB引擎,它沒有像ReferenceField這樣的字段。 :( – Anshul