What is model
Model has two meanings, one means model Class
, the other means package which encapsulates model.py
model Class
represents mongodb collection and defines the collection schema.
models
directory skeleton
models
├── __init__.py
├── settings.py # global setting for all models
├── base.py # mongodb database instance mappings
├── user
│ ├── __init__.py
│ ├── base.py
│ ├── model.py # all model Class, each represents one mongodb collection
│ └── setting.py # setting for user model
Create model
To create a model, first create a package below in models, for example named with user
.
user
├──__init__.py
├── base.py
├── model.py
└── setting.py
Put code in base.py
# base.py
from models.base import *
class Model(BaseModel):
def __init__(self):
super(Model, self).__init__(db_name='user')
Create Class
inherited from turbo.model.BaseModel
from base import * # import BaseModel from base
class User2img(Model):
name = 'user2img' # collection 的名字
field = {
'uid': (ObjectId, None) ,
'imgid': (ObjectId, None) ,
'atime': (datetime, None) ,
'atime': (datetime, None) ,
}
Use model in helper
#helpers/user/user.py
from models.user import model
class User2img(model.User2img):pass