Django 在mongoengine模型字段中引用SQL模型
我在我的训练日历Django项目中使用不同的字段来存储训练,这取决于用户完成了哪些举重,有多少举重,等等 我定义了一个Django 在mongoengine模型字段中引用SQL模型,django,mongoengine,Django,Mongoengine,我在我的训练日历Django项目中使用不同的字段来存储训练,这取决于用户完成了哪些举重,有多少举重,等等 我定义了一个锻炼对象,它表示一个人在某个日期完成的一项锻炼 class Workout(Document): id = IntField(unique=True, null=False) date = DateTimeField() lifts = EmbeddedDocumentListField(LiftSerie) cardio = EmbeddedDo
锻炼
对象,它表示一个人在某个日期完成的一项锻炼
class Workout(Document):
id = IntField(unique=True, null=False)
date = DateTimeField()
lifts = EmbeddedDocumentListField(LiftSerie)
cardio = EmbeddedDocumentListField(CardioSerie)
你们中的一些人可能会注意到,没有代表进行训练的人的字段。这就是我的问题所在。在我的Django项目中,我定义了一个自定义的User
模型,我用它代替了普通的Django.contrib.auth.models.User
对象:
class User(AbstractUser):
REQUIRED_FIELDS = []
USERNAME_FIELD = 'email'
email = models.EmailField(
unique=True,
},
)
这个模型是一个普通的Django模型,在我的例子中,它在一个SQL数据库SQLite中表示。我希望此模型充当我的训练
mongoengine模型中的用户
字段。大概是这样的:
class Workout(Document):
id = IntField(unique=True, null=False)
date = DateTimeField()
lifts = EmbeddedDocumentListField(LiftSerie)
cardio = EmbeddedDocumentListField(CardioSerie)
person = ReferenceField(User) #New row
这有可能以某种方式实现吗?或者我需要通过简单地向我的mongoengine模型添加一个
电子邮件字段来表示用户(电子邮件是用户中的一个唯一字段),从而为我的web应用程序引入冗余。我将实现一个自定义模型管理器,通过使用
通过使用两种不同的数据库类型,您实现了大量额外的复杂性。如果我是你,我会考虑利用Postgres的NoSQL和JSON功能来简化数据库基础设施。谢谢,Jason。这就是你说的吗?确切地说是正确的