import mongoengine
def global_init():
mongoengine.register_connection(alias="core", name="project")
class Worker(mongoengine.Document):
username = mongoengine.StringField()
salary_per_hour = mongoengine.FloatField()
total_hours_worked = ********[1]
meta = {
"db_alias": "core",
"collection": "users"
}
class Project(mongoengine.Document):
name = mongoengine.StringField()
associated_users = mongoengine.ListField(ReferenceField(User))
progress = mongoengine.EmbeddedDocumentField(Progress)
meta = {
"db_alias": "core",
"collection": "projects"
}
class Contrib(mongoengine.Document):
project = mongoengine.ReferenceField(Project)
user = mongoengine.ReferenceField(User)
hour = mongoengine.FloatField()
meta = {
"db_alias": "core",
"collection": "contribs"
}
class Progress(mongoengine.EmbeddedDocument):
total_hours = ********[2]
percentage = ********[3]
total_cost = ********[4]
Привет, я пытаюсь построить отношения между работником и проектом с mongoengine. Будут разные проекты и работники. Вклады будут основными входами в программу. Мне нужны эти базы данных для будущих функций. Я хочу построить некоторые отношения между базами данных, а не обновлять все в зависимости от ввода. Например:
[1] общее количество рабочих часов рабочего.
[2] работников total_hours работало над этим проектом.
[3] непрерывный процентный расчет проекта с процентное соотношение в зависимости от указанного рабочего часа.
[4] стоимость проекта до настоящего времени зависит от работников salary_per_hour и их рабочего времени
Я новичок в базах данных SQL и не знаю не знаю, правильно ли я все написал. Можно ли построить эти отношения между базами данных с некоторыми функциями отображения? Я не знаю, что я должен использовать для них или есть какие-либо необходимые изменения в коде для правильной работы. Можете ли вы написать пример или предложить мне несколько источников для изучения этих вещей. Я потерял документацию mongoengine за последние 2 часа, но не смог удовлетворить свои потребности.
Спасибо за вашу помощь заранее.